#making-mods-general

1 messages · Page 380 of 1

timid helm
#

That’s how the wiki says to do it

obtuse wigeon
#

Ohh gotcha, nvm me then

timid helm
#

Yes

tiny zealot
#

to be clear, are you trying to create an interactable warp? (meaning click cursor on tile to use)

timid helm
#

Yes

tiny zealot
#

is your TileData object named TileData and is it on the Buildings object layer? and is there a tile on the Buildings tile layer in the same spot?

blissful panther
#

(And I believe, importantly, it needs to be perfectly aligned to the grid?)

tiny zealot
#

that at least appears to be true from the above screenshot

blissful panther
#

(Oh, yeah!)

tiny zealot
#

scrolling up, i think i see that the name is missing

tiny zealot
#

so since this screenshot, you have filled in the Name row with the value TileData?

timid helm
tiny zealot
#

ok i guess make sure you've copied over the tmx into your actual mod folder and reloaded your patch (and/or game). i don't have any ideas beyond that atm

timid helm
timid helm
uncut viper
#

you've asked that before and been answered with several possibilities already

timid helm
obtuse wigeon
uncut viper
timid helm
#

That doesn’t help someone who is new to making mods and does not know the formats and things to do that stuff

round timber
#

bear in mind that everyone is helping out voluntarily and cannot know what kind of answer you will want. if you dont understand someone’s answer, you can ask them to elaborate.

obtuse wigeon
#

As for the minecart option, I'm not sure if a framework mod is needed or not, but I have seen custom minecart systems done in mods so it's 100% possible

round timber
#

minecarts can be done solely through content patcher 🙂‍↕️ Visit Mount Vapius should have an example for it if you want one

obtuse wigeon
round timber
#

praised be content patcher!

gentle rose
#

hi vin! how goes the npc?

timid helm
#

What do I type into the content.json to patch something into a vanilla location

round timber
gentle rose
#

niceeee

round dock
#

New npc new npc new npc meow_bounce

gentle rose
#

I’ve actually somehow had the energy to work on a mod(ding tool) these past few days that I hopefully will release soon so I’m psyched about that

round timber
#

ding tool?

gentle rose
#

modding tool SDVpuffersquee

round timber
#

ohhh lol

#

the tiled thingo?

round dock
#

Great for map makers me thinks meow_bounce

#

The bees are working hard

round timber
#

ill have to check it out 🙂‍↕️

gentle rose
#

close to being done I recon! I'm going to try to make it a bit more user friendly and add the tilesheet mod support if I can

#

...but now we need to give locust andy a Ding Tool @round dock

round timber
#

i hope locust andy is actually a thing that happens

gentle rose
#

same, vin, same

obtuse wigeon
#

I'm intregued by this modding tool already!

round dock
#

I can only supply the legalese, I fear 😭

timid helm
round timber
#

youll prob want to make a tmx for the tiles and then do an EditMap for it. warp can be in the tmx itself or added through EditData

obtuse wigeon
lucid iron
#

If there's no new tilesheet a tmx is optional

timid helm
round timber
#

im away from my pc right now so i cant pull up examples but hopefully someone else here can SDVpuffersquee

#

or if no one has answered once i am back, i will grab em

obtuse wigeon
timid helm
obtuse wigeon
#

What part are you getting stuck on? I can help walk you through it, are you stuck on the formatting of the content.json or which fields to include, etc?

timid helm
obtuse wigeon
#

say you have a 10 by 10 area you want to overlay onto a map, but the vanilla map is 50 by 50, the from area is the area of the .tmx file youve made that you want to be overlayed, so an entry like this: "FromArea": { "X": 0, "Y": 0, "Width": 10, "Height": 10 } will take the 10 tile by 10 tile area from the top left, if you want to overlay the whole .tmx you made then this isn't needed as it defaults to the whole .tmx file you made

spice cobalt
#

Please, can someone provide a link or share demo code of a mod that adds a new item/tool/fittings via C# and adds its own functionality? I have tried different methods, but I can't figure out how it works. I need to see it and figure it out.

obtuse wigeon
#

"ToArea" dictates where on the map your .tmx file is overlayed, an entry like this: "ToArea": { "X": 10, "Y": 10, "Width": 10, "Height": 10 } will place that 10 tile by 10 tile area from the "FromArea" onto the vanilla map 10 tiles from the top and 10 tiles from the left

#

if your .tmx file is the same size as the map you're overlaying onto, these fields aren't needed as they both default to the whole map

timid helm
obtuse wigeon
#

you'd need to find the top left most tile on the beach where you want your .tmx overlayed, and add the entry "FromArea": { "X": <TopLeftTileX>, "Y": <TopLeftTileY>, "Width": 3, "Height": 2 }. where <TopLeftTileX> is the X Co-ord of the top left most tile and <TopLeftTileY> is the Y Co-ord of the top left most tile

#

Do you know how to find the Co-ordinates of the area on the beach you want your .tmx file to be placed on?

obtuse wigeon
#

Perfect, you should be able to find the X and Y you want on the beach

timid helm
#

For the .tmx do I copy the beach map and edit it? That’s the other thing I’m confused about

obtuse wigeon
#

The best way is to copy the beach map and modify it to your liking, but for a 2x3 area it might be easier not using a .tmx, unless you have a custom tilesheet

round timber
#

if you do edit the beach map you should just crop it to the area that you changed once youre done - better for compatibility

obtuse wigeon
#

Explain to me from the start what you want to do , explain like I'm just joining this convo and have no prior knowledge

opal tendon
#

now... how hard is it to make configuration options for a bus... or how awful would it be to have like 5+ different colors of a bus as download options under a bus mod

brittle pasture
brittle pasture
calm nebula
#

(Someone link shovel SDVkrobusgiggle )

royal stump
#

bug net came to mind for me, but not the best reference anymore SDVjunimowhite

#

(I think) (I haven't ever made a tool)

brittle pasture
#

the ornithologist guild's bird watching guide/binoculars is also a good example

#

it is a much more sizable mod though

timid helm
calm nebula
#

(For the record: shovel is a horrible reference)

#

// god this is bad.

urban patrol
#

visit the config documentation for content patcher to find out how to format it inside your content.json, and then for 5 colors of bus, write 5 patches, each with a When condition for when config is set to purple, for example

obtuse wigeon
#

Have you tested to see if your mod works in game with the "ToArea" entry?

timid helm
obtuse wigeon
#

you make a copy of the beach map and crop it to the 2x3 size

timid helm
obtuse wigeon
latent mauve
#

Also, for clarification: when we say "make a copy" we usually mean to open the Beach map in Tiled and use "Save As..." to create a new tmx in the same Maps folder so you don't create a tilesheet directory-climbing headache (and so you don't accidentally create a copy from a file with pre-existing errors).

timid helm
timid helm
# obtuse wigeon How do you have your `content.json` layed out so far?

I copied this,

{
"Format": "2.7.0",
"Changes": [
{
"Action": "EditMap",
"Target": "Maps/Town",
"FromFile": "assets/town.tmx",
"FromArea": { "X": 22, "Y": 61, "Width": 16, "Height": 13 },
"ToArea": { "X": 22, "Y": 61, "Width": 16, "Height": 13 }
},
]
}

But haven’t changed anything yet

urban patrol
#

this was also explained yesterday. every single file that is inside your mod folder will be available for download after you zip and upload it

obtuse wigeon
#

Oh okay, for starters you dont need the "FromArea" line if you're making the .tmx the exact size you want, and you'll what to add "PatchMode": "Overlay" below "ToArea" aswell

timid helm
urban patrol
#

anything you do inside the content unpacked folder has zero effect on the game

urban patrol
#

every file you need for your mod should be inside your mod folder

obtuse wigeon
#

Have you got your manifest.json set up too?

timid helm
#

There should be a comma after “Overlay” right

obtuse wigeon
#

all you need now is the .tmx you've made and any custom tilesheets, don't include vanilla tilesheets with your mod, the game will get them automatically

obtuse wigeon
timid helm
obtuse wigeon
#

In the "ToArea" you want the X and Y to be the X and Y co-ord on the beach where the top left tile of where you want your .tmx to go , then the width is the width of your .tmx and the hight is the hight of your .tmx

obtuse wigeon
#

Can you give any more context? did you get an error?

timid helm
#

There is no error, but nothing showed up

urban patrol
#

!log type patch summary yourmodid and then share your log, please

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.

urban patrol
#

you can also try to patch export the beach map

timid helm
#

I’ll send the log in a few minutes, there is an error, but j know for sure that they aren’t related

opal tendon
# brittle pasture <https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/aut...

for example would I do it like this?

{
"Format": "2.7.0",
"ConfigSchema": {
"Color": {
"AllowValues": "Pink, Purple, Green, Brown",
"Default": "Pink"
"Section": "Color"
}
},
"Changes": [
// as a token
{
"Action": "Load",
"Target": "LooseSprites/Cursors",
"FromFile": "assets/color_{{color}}.png"
"ToArea":
{
"X": 288,
"Y": 1247,
"Width": 128,
"Height": 102
},
},

  // as a condition
  {
     "Action": "Load",
     "Target": "LooseSprites/Cursors",
     "FromFile": "assets/color_pink.png",
     "ToArea":
     {
         "X": 288,
         "Y": 1247,
         "Width": 128,
         "Height": 102
     },
        "When": {
        "Color": "Pink"
     }
  }

]
}

oak umbra
#

How come, is it because content packs are easier to make?

timid helm
urban patrol
#

no type that into the SMAPI console please

#

and replace yourmodid with your actual mod id written out

obtuse wigeon
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 5 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

urban patrol
timid helm
urban patrol
#

is it in an included file? did you forget to include it?

timid helm
urban patrol
#

i don't understand what you mean by that. do you mean you named your file Beach.tmx?

timid helm
#

Yes

urban patrol
#

you can name your own files whatever you want as long as you have the correct filepath in your FromFile value

#

that's not the issue here; the issue is that content patcher either cannot find or cannot recognize your patch to edit the beach map

timid helm
#

This is what I have
{
“Action”: “EditMap”,
“Target”: “Maps/Beach”,
“FromFile”: “assets/Maps/Beach.tmx”,
“ToArea”: { “X”: 79, “Y”: 39, “Width”: 3, “Height”: 2 },
“PatchMode”: “Overlay”,
}

urban patrol
#

is that in your content.json or another file

timid helm
#

Content.json

urban patrol
#

did you patch reload after applying changes?

brittle pasture
#

CP will turn {{color}} into the config value

timid helm
ocean sailBOT
#

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

urban patrol
#

!tilesheetclimbing

ocean sailBOT
#

When creating or editing maps in Tiled, one common error is tilesheet climbing, marked by red text containing "invalid tilesheet path '../../..'. This is caused by SMAPI not being able to find the tilesheets needed by the map file. To prevent this error, make sure that you have a copy of all necessary tilesheets in the folder containing your WIP tmx file. Copies of vanilla tilesheets can later be deleted, but must be present while working on your map.

If you get this error with a completed map, an easy way to fix it is to open your tmx file in VS Code or a similar text editor, find all of the places with <image source=, and remove the filepaths to so that only the tilesheet names remain. For example, if the code says <image source="Content (unpacked)/Maps/townInterior_2" width="512" height="64"/>, change it to just <image source="townInterior_2" width="512" height="64"/>.

opal tendon
#

what does the as a condition do?

round timber
#

// means that the line is a comment

#

it doesnt do anything besides exist for your personal reference

opal tendon
#

ohhhh

halcyon nest
#

dumb question, I know the bed is hardcoded to be placed on a certain tile in the farmhouse but the wiki isn’t saying it anymore (or I can’t find it), what tile is it again?

#

iirc it’s 8,9 but the last thing I wanna do is assume that and be wrong and have a piece of furniture spawn on top of the bed

uncut viper
#

9,8

halcyon nest
#

thank you!!!

#

I was close lol

opal tendon
#

what this mean SDVpufferchickcry

[Content Patcher Animations] This mod failed in the GameLoop.UpdateTicked event. Technical details:
Newtonsoft.Json.JsonReaderException: Can't parse JSON file at C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley\Mods[CP] Fairy Bus\content.json. This doesn't seem to be valid JSON.
Technical details: After parsing a value an unexpected character was encountered: ". Path 'ConfigSchema.Color.Default', line 7, position 9.
at StardewModdingAPI.Toolkit.Serialization.JsonHelper.ReadJsonFileIfExists[TModel](String fullPath, TModel& result) in SMAPI.Toolkit\Serialization\JsonHelper.cs:line 86
at StardewModdingAPI.Framework.ContentPack.ReadJsonFile[TModel](String path) in SMAPI\Framework\ContentPack.cs:line 76
at ContentPatcherAnimations.Mod.CollectPatches() in C:\Programming\StardewValley\ModSource\ContentPatcherAnimations\Mod.cs:line 216
at ContentPatcherAnimations.Mod.InitializeIfNeeded() in C:\Programming\StardewValley\ModSource\ContentPatcherAnimations\Mod.cs:line 146
at ContentPatcherAnimations.Mod.OnUpdateTicked(Object sender, UpdateTickedEventArgs e) in C:\Programming\StardewValley\ModSource\ContentPatcherAnimations\Mod.cs:line 127
at StardewModdingAPI.Framework.Events.ManagedEvent`1.Raise(TEventArgs args) in SMAPI\Framework\Events\ManagedEvent.cs:line 101

royal stump
#

it's technically not hardcoded now ftr, 9,8 just has DefaultBedPosition T now

opal tendon
#

what's that site

opal tendon
#

you paste this stuff into

royal stump
#

1.6 converted a bunch of farm/farmhouse things into tile or map properties

halcyon nest
#

WELL. THAT EXPLAINS A LOT (thanks for telling me though!!!)

urban patrol
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.

halcyon nest
#

I’ll have to do a deeper dive on the map properties page LOL

royal stump
urban patrol
#

but what the log is saying is that you have invalid json. put that file into the json parser and it'll tell you where the issue is

uncut viper
#

its used for upgrading the farmhouse

#

so as far as i can tell, the bed is still hardcoded

#

unless setMapForUpgradeLevel also happens at level 0?

royal stump
#

yeah, I'm not entirely sure if that happens

#

the base farmhouse has the property at 9,8 but may or may not actually use it in that case

halcyon nest
#

The last custom farm I made was in uhhhhhh April this year I think and it was still hard coded then

uncut viper
#

this year? the game hasnt received an update in 8 months, so

halcyon nest
#

But it’s also been a few months so things couldve changed drastically in that timeframe

royal stump
#

yeah, the property's existed since 1.6.0 afaik, so if it wasn't doing anything, that's that

opal tendon
round timber
#

need to remove that " after "Changes":

brittle pasture
uncut viper
#

(also not that its wrong but why are you using a different validator than the one provided, just asking out of curiosity)

round timber
#

oh wait thats not a " lol

calm nebula
#

Missing comma

#

!vsc

ocean sailBOT
dapper crown
#

Is it okay if I share a mod I just published here? Not asking it to go on showcase, I just want someone to see it.

round timber
timid helm
dapper crown
#

That's true, should be fine according to the rules. Thanks :)

urban patrol
opal tendon
urban patrol
#

comma after "default": "pink"

brittle pasture
#

missing comma end of line 6 and 15

opal tendon
#

but not 7?

brittle pasture
#

(have you switched to VSC yet)

opal tendon
#

or 7 too?

#

what is VSC again

uncut viper
#

the reason it says line 7 is because it thinks line 7 is part of line 6

#

bc theres no comma

brittle pasture
#

It's the last entry in an object so it doesnt need a comma

obtuse wigeon
#

You don't need one for line 7, but adding one won't hurt, itll just say trailing comma

round timber
#

the parser registers the error on the line after the one it occurs on (if that makes sense)

brittle pasture
#

but you can add it too

obtuse wigeon
opal tendon
#

ohhhhh don't need comma at the end but need commas everywhere else got it

brittle pasture
#

Notepad++ works too

uncut viper
#

you need a comma after every Value in a Key/Value pair

opal tendon
#

I got notepad++ I just need to figure out how to make it my default thingy

uncut viper
#

the stuff on the left side of the : is the key

#

(and between every item in a list, which is why you need them between patches too)

obtuse wigeon
opal tendon
#

huh I think I did something wrong...

#

(thats my mouse and idk what else)

obtuse wigeon
brittle pasture
#

looks like you patched the wrong coords

opal tendon
#

hmm they were the right ones when I was doing just 1 bus with CP does that make a difference?

brittle pasture
#

no
maybe it's another mod of yours? do you recognize that texture

opal tendon
opal tendon
#

its just weird that its on the mouse

#

it also was working in game earlier

#

when it was just the 1 at a time way I know

#

maybe it was doing that earlier too but because I had a mod on top of my cursor I couldn't tell actually

obtuse wigeon
opal tendon
#

mmmm yes.... that's not right

brittle pasture
#

oh wait

opal tendon
#

oh yeah

obtuse wigeon
brittle pasture
#

you used Load when you should have used EditImage

timid helm
#

Why is this warp not working?

royal stump
golden basin
#

Need a from and to

royal stump
#

map property warp is the kind that needs from/to, but that's the building-layer right click kind

golden basin
#

Hey esca!!!

royal stump
#

(and TouchAction warp does use location x y SDVpufferdizzy)

timid helm
royal stump
#

!log when trying to use it, then

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.

timid helm
royal stump
#

SDVpufferthinkblob are you right-clicking the tile to use it, or just walking onto it?

#

is the property on the Buildings layer, and is there a sprite on that layer?

timid helm
#

Right clicking, and yes to both

royal stump
#

hm, my only other guess is that your map edits aren't actually being applied

vernal crest
#

Try a patch export of the map to see if the property is correctly present on the exported map. patch export Maps/<yourmapname> and then follow the instructions to find it.

calm nebula
#

Awww. No more pretty name for Aba

#

Who has the pretty name this week?

dapper crown
dusky sail
#

fishbot so good that its hard to showcase in video bc it just looks like youre fishing normal

dapper crown
#

Ikr

#

And the treasure looting looks edited

dusky sail
#

suffering from success

dapper crown
#

Its funny because as I was making my own tweaks to Fishing Automatons original algorithm it just became more and more like my own playstyle

reef siren
#

Hmmhi gang sorry to just drop this in the middle lolol, butttt is it possible to have a sprite exceed the 16 x 32 pixel limit? Specifically within a cutscene like to have them lay down horizontally? Or do I have to get creative ??

opal tendon
#

I got it working btw thank you Selph, Atlas, Button, and Nic!!! SDVpuffercactus

dapper crown
dusky sail
#

if you crop out my name and icon yeah

#

i love being embarassed for absolutely no reason its my favorite hobby?

dapper crown
#

Sure no problem, thanks :D

halcyon nest
#

initial testing has commenced™

#

The friend I made it for loves it so. I’m very happy LOL

#

also always test ur mods folks I accidentally blocked off the footbridges by accidentally putting some grass on the buildings layer

vernal crest
reef siren
#

!! That’s perfect to know thank you!

wraith aspen
#

hi all, trying to start programming the machine in my mod but it is not accepting any items, not sure why? i'm not getting any SMAPI errors the machine simply just won't accept the item when trying to test it

brittle pasture
#

(also I recommend using another text editor that handles syntax highlighting and indentation)

wraith aspen
#

ohhh i see thank you!

#

and will do, i wasnt aware of smapi.io/json so i'll check there in the future

calm nebula
#

!vsc SDVkrobusgiggle

ocean sailBOT
calm nebula
#

Hey, suggestion to server: don't do xp for commands

#

And then remove all the xp I got for commands 😛

#

Which is probably 25% if my xp

wraith aspen
#

ty for the suggested programs!!

dapper crown
#

Nah you're doing a service SDVpuffersalute

mighty quest
#

How can I fetch the player 2 instance local coop with SMAPI? i.e., how I can I fetch a player instance by index in local coop instead of multiplayer ID?

brave fable
mighty quest
#

I guess ScreenID is what I want

#

Thanks

humble timber
#

...i decided i wanted to try my hand at making myself a shed map.. i'm scared... SDVpuffersweats

brave fable
#

if it makes you feel better, that's really just ~2 tiledata objects, but split into every tile

brittle pasture
#

the curse of layer objects having to be 16x16 exactly

gaunt orbit
#

They don't any more

brave fable
#

you can check the properties of each, delete the duplicates, and stretch one to fit their combined tiles if you like

humble timber
gaunt orbit
#

Just an exact multiple

calm nebula
#

They will export that way oui

#

But you can make a multitile prop now

wraith aspen
#

another question, i am attempting to make it so one of the outputs of the machine is rarer than the other 5 (about a 10% chance vs 18% for the other options), but lookup everything shows this outcome twice and one of the chances at 50%? i'm not sure why this is

uncut viper
wraith aspen
#

doesn't that just make sure there's no errors in the .json file? like missing any brackets or commas? or am i using the wrong one

uncut viper
#

no. you upload it there then send the link here so other people can read it

#

it does validation in addition to that

wraith aspen
#

oh gotcha, my bad will do

tiny zealot
#

(and reformatting, so indentation is standardized)

brave fable
#

it also reformats your json file to fix the indentation into something actually legible

uncut viper
#

it also only validates json errors, but not functional errors

#

as in it will note wrong syntax but not whether or not your patch does what you intend it to

wraith aspen
#

gotcha, ty

brittle pasture
#

you probably want ITEM_CONTEXT_TAG Target from_gamer_box !rare_plushie for the first entry

wraith aspen
#

i tried removing that but it still showed a 50% chance for some reason

#

gotcha i'll add that

tiny zealot
#

could LA simply be wrong about the percentages if it's not evaluating your queries/simulating the machine output?

brittle pasture
#

it's just LA not parsing it correctly

#

yes

wraith aspen
#

i see, thank you!

brittle pasture
#

I was responsible for that code, and I hacked it together and never bothered to fix it

patent lanceBOT
wraith aspen
#

all good lmao, ty for your help!

calm nebula
#

It's all in data/characters

opal tendon
#

is it easy to change the name of a monster and item in the game with my mod?

#

like to make the bait into bread crumbs

humble timber
#

yeah you'd just need to patch the data for it

grand fox
#

i finally got the dialogue json to read

#

my billie obession is fufilled

torpid sparrow
#

Is that Billie eilish

grand fox
#

yes it is

torpid sparrow
#

finneas ousted pierre?!

grand fox
#

why yes

humble timber
#

SDVpufferflat welp, had my shed working kind of then trying to fix the wallpapers being borked and i somehow broke it completely,

hard fern
#

Rip shef

#

Shed

humble timber
#

i think i somehow borked the tilesheets

#

is what's going on
and idk how to fix it SDVpufferflat

twilit quest
brave fable
#

yeah we can't do a whole lot about somehow borked

calm nebula
#

I somehow borked my life, bluebs

#

Pls fix

brave fable
#

gonna have to ask you to share a log file SDVpufferpensive

humble timber
#

basically i was messing around with a different map file, no assets on said map were loading so i exported/replaced tilesets to make it all visible, then all my maps were trying to use those specific tilesets instead of vanilla

#

SDVpufferflat man i fucked up

brave fable
#

tiled doesn't actually embed anything into your other maps when you've exported the tilesets, it just makes them visible in the editor in case you want to use them

#

if you close any maps in the same folder as the exported tileset files, they'll be hidden from your other files in the editor as usual

humble timber
#

hmm,,

brave fable
#

or just embed them back into the original maps and delete the exported tsx

humble timber
#

a
thank you tiled. lovely,

brave fable
#

yeah embedding the tilesets is step 1 here hahah

humble timber
#

i jsut wanted to see how that shed did the wallpaper separation and it bwoke lmao

brave fable
#

otherwise it's going to keep looking for the tsx files you've just deleted

humble timber
#

ok did that

#

now how do i actually get the originals back.,,,

brave fable
#

the original what?

humble timber
#

the original tilesheets/sets ;w;

brave fable
#

well if you've embedded them then they're in your tmx file

#

the images never moved, so they're still there

humble timber
#

hm,,,

#

ok then in theory i can try reloading it?

brave fable
#

if it works in theory, sure

humble timber
#

welp, according to smapi it's Still trying to search for those tilesheets SDVpufferflat

brave fable
#

man i wish smapi logged this stuff

humble timber
#

SDVpuffersob sorry lmao i'll get a fresh log in a second

ocean sailBOT
#

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

brave fable
#

apparently it's still referencing an exported TSX for your walls_and_floors tileset, did you embed it?

humble timber
#

yeah

brave fable
#

dare i ask 'are you sure'

humble timber
#

yea i double checked SDVpufferwaaah

candid veldt
#

wondering if anyone wants to share how they decide to balance items added by their mods? I've never payed too much attention to it in the mods I use, but I realize now I kind of don't know how to price stuff

wraith aspen
#

is there a way to easily make an item a drop from any monster?

tender bloom
hard fern
#

i just kinda try and look at the sell price of the items

tender bloom
#

I calculated profit per season (and for multi season crops, compared both 1 season and all season profits)

hard fern
#

*the base items

tiny zealot
#

i don't have a spreadsheet but i use vanilla stuff as a reference (value per gold/space/time, when in game progress it becomes available, etc.)

tender bloom
#

For recipes, I would compare total ingredient sell price with the final item sell price

#

Plus checking to see which ingredients can be purchased and which you’d have to grow yourself

candid veldt
#

I love an excuse to make a spreadsheet. For crops did you take into account the cost per day?

tender bloom
#

A sugar + flour recipe is not as balanced as one that also uses blueberries

#

I did the cost of seeds x number of crop plantings per season

#

For the total season cost

tiny zealot
#

like if you are balancing something edible, i think you should stay close to vanilla's edibility per g cost (e.g. salad, cheese)

uncut viper
tender bloom
#

Yeah for edibility I used “similar vanilla item” for the most part

uncut viper
#

(no without C#*)

wraith aspen
#

ah thats unfortunate, thanks for answering anyway

tiny zealot
#

salad in particular is available at the saloon from day 1 and it's very economical

tender bloom
#

And for any boosts to farming, fishing, etc similarly

#

Personally I think +4 foods and up are a bit unbalanced, but I can see some uses if you add a ton of really difficult challenges somehow

#

And vanilla foods typically keep to having 1 or 2 effects at once

candid veldt
#

That makes sense! The only recipe I added was root beer so I figure I can compare to ginger ale for that. The rest are crops or trees

#

Thx!

tender bloom
#

For trees I feel like the vanilla sell prices are just vibes

#

But it gives a max and min to compare to

#

Like there’s no actual reason why pomegranate is expensive (except I guess bc they’re in 2 bundles??)

torpid sparrow
#

was that a bot

dusky sail
#

If it were based on bundles i think apples would be more expensive, so i agree it must be vibes

hard fern
#

yeah it was a bot lol

twilit quest
humble timber
#

i still havent fixed it so

#

any assistance appreciated

twilit quest
wraith aspen
#

does anyone know if adding custom items to dig spot and garbage can loot pools would mess up mods like binning skill or archeology skill? i need to decide a new way to get my items to drop since adding them to monster loot tables is more complicated than i think i can handle right now

twilit quest
#

@humble timber If they're not in the same folder, start by making sure they are. Make a folder just for the map and tilesheets, and put them all in the same place. Don't have any in subfolders or other folders.

#

@humble timber Then, when you open Tiled, if you get those red "X"s and the notification at the top, start by clicking on one of the tilesheets listed at the top. Once you have one selected, click "Open Tileset"

#

Sorry, not "Locate File", the button becomes "Open Tileset" once one is highlighted

humble timber
#

hmm
okay so like
hmmmmm,,, how do i make sure i'll be using the right tilesheets

twilit quest
#

You will be linking the references back to them

#

The first step is to get rid of the red "X"s

#

If you end up linking the wrong tilesheet it will be obvious pretty quickly, because your map will look borked. Don't panic, you can always change the tilesheet referenced

#

So do you have the tilesheets you want to use in the same folder as the map?

humble timber
#

im gonna be honest im stuck on that step SDVpuffersob
like
do i need to export the tilesheets into there?

#

ok i think so. brain bwoke

twilit quest
#

What are you trying to do?

humble timber
#

i need to re-grab the vanilla tilesheets basically since i didnt have them to begin with

twilit quest
#

So you're trying to edit the shed and change the starting wallpaper?

humble timber
#

uuh kind of,, the wallpaper is the default one still but it uses one from the walls/floors tilesheet

twilit quest
#

You'll need two .png files to start with: townInterior and walls_and_floors

humble timber
#

yeah i had those

twilit quest
#

Okay. Put those in the same folder as your map file to start with

#

Then close the map file, open it again, and see if you still get "X"s

#

Those .png files are your tilesheets

#

If you still get "X"s, don't worry, I'll tell you how to link back to them

#

@humble timber If you have trouble finding those .png files, I can get you them

humble timber
#

i have the images in the folder now, but now it's looking for a template? SDVpufferflat

twilit quest
uncut viper
#

the hell is a .tx

humble timber
#

i
i modified the vanilla shed map, not a modded one SDVpufferflat

twin wadi
#

I've never seen or heard of a .tx SDVpuffersweats

uncut viper
#

somehow you saved an object as a template?

#

like the TileData objects

humble timber
#

OH

#

Wait omg im stupid i did indeed do that without thinking about it earlier

twilit quest
humble timber
#

yeah i got rid of it so thats no longer a problem

twilit quest
#

I like that three layer design and I think it could be very pretty. But you should know that when you have a wallpaper TileData tile, it will put a three-tile vertical wallpaper on the map when wallpaper is applied

#

So, for example:

#

The ones along the top are wallIDs

#

Each of those represents one "sheet" of wallpaper

humble timber
#

i was kinda wondering about that cuz in my testing earlier it like
it mostly worked how i wanted it to, but i missed a few tiles/had some strange overlap

twilit quest
#

If you make a wall that is less than three tiles high, I think it will look strange

humble timber
#

yeah i might try adjusting them then

twilit quest
#

I really like that layered design you've got going though

#

It's clever and pretty

#

But you might need to make the layers taller

humble timber
#

yee its inspired by aimons fancy shed, but i wanted smth simpler :P

twilit quest
#

Floor tiles don't work the same way, each floor tile is a single tile

#

But make sure they go right up to the edge of the wallpaper, like in the image above

#

Because they show under the wallpaper

#

Like this

#

If they don't go "under" the bottom of the wall, you'll get a weird gap there

#

Wall IDs on the other hand only need to go along the top of the wall

#

They don't need to cover the whole wall, since each tile will be one vertical three tile piece

#

Make sense?

humble timber
#

ohh interesting, noted

#

i knew about the floor just not the wall...

twilit quest
#

You see how there's a gap?

#

The floor goes up to under the wall, but there's nothing in the middle of the wall

#

That's because the WallID TileData is only that row at the top

hard fern
#

🤔 is it cuz the texture is from the top left and just goes down from there

twilit quest
twilit quest
humble timber
#

so in theory this'd work fine..

twilit quest
#

As long as your MapProperties are set up correctly and the TileData has the right WallID and Floor IDs 🙂

#

@humble timber Do you want each layer of wallpaper to be able to be different?

#

(Good job, by the way, you're doing great!)

humble timber
#

yep, that's why i looked at aimon's shed earlier. i believe i have it set up correctly,
and how i broke everything to begin with

twilit quest
humble timber
#

i just need to figure out the tilesheets now,, it visually looks fine in tiled now but then smapi shits itself when trying to load the map

humble timber
ocean sailBOT
#

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

uncut viper
#

your .tmx has some incorrect tilesheet data inside it, possibly leftover from cleaning up the other errors. im guessing if you open up your .tmx in Notepad++ or similar you'll find one that doesnt have an <image ... inside it or an image without a source=

humble timber
#

yeah i peeked at it earlier but wasnt sure what to edit

uncut viper
#

can you send your .tmx itself

#

(also are you loading this with an InternalAssetKey?)

weary pivot
# wraith aspen is there a way to easily make an item a drop from any monster?

maybe Farm Type Manager can do it? https://github.com/Esca-MMC/FarmTypeManager

I looked at the docs and found this:

Here is an example loot list that uses all three formats. It would cause a defeated monster to drop Wild Horseradish, Joja Cola, and a Galaxy Sword.

GitHub

A mod for the game Stardew Valley, allows players and modders to spawn customizable features from each of Stardew’s farm types. Requires the SMAPI mod loader. - Esca-MMC/FarmTypeManager

humble timber
#

i. dont know what an internalassetkey is so.. SDVpuffersweats

twilit quest
#

I have to get to bed, and this is getting beyond my knowledge level, so I will leave you folks to it. You're doing great, @humble timber , don't give up.

humble timber
#

ty for sticking with me while i was struggling SDVpuffersob

uncut viper
#

dont worry about it for now then, lets just fix the tmx first

wraith aspen
humble timber
twilit quest
uncut viper
#

yep, one sec

royal stump
uncut viper
#

on line 11 is a stray untitled tile sheet tileset without an image in it nor a .tsx to reference

wraith aspen
#

ohhh i see, yeah i dont want to add any monsters i just want my items to have a chance to drop randomly in the game and i figured monsters would be the easiest way

#

my next attempt would be garbage cans or dig spots but i'm concerned if they would work with mods like binning skull and archeology skill

royal stump
#

FTM can probably spawn the item as forage on the ground, if that works SDVkrobusgiggle
(the base game also has data assets that control forage for simple objects)

wraith aspen
#

that could be an option yeah, i'll keep it in mind!

humble timber
uncut viper
#

if it was there when you opened the vanilla map, you shouldnt have removed it

#

it is what SMAPI is freaking out about

#

there's no image for it to reference

#

was it there when you opened the Shed map in your unpacked files or did it appear later during your tilesheet fiasco

#

actually i just checked and it is indeed there. dont know why its there, but it shouldnt be removed

humble timber
#

yeah its in the unpacked lol

#

dunno why!

#

so what do i need to do to replace it,,

uncut viper
#

well you should first probably now embed your tilesheets back into the .tmx instead of using .tsx files

#

to make things easier

lucid mulch
uncut viper
#

i believe to do that via Tiled you look in the bottom right and the second button from the left pictured here will embed the tilesheet and remove the tsx, but iunno. Tiled itself is not my strong suit

humble timber
#

ye done

uncut viper
#

make sure its saved too

#

im also thinking about it and im not 100% sure the duplicate sheet is actually necessary if you're just Loading over the original? but i think it might be with just plain EditMap? im not 100% confident in this kind of map stuff i just know how to read the error you got, but usually when i see it its from a tileset that shouldnt be there anyway so it can just be deleted

#

if there are no more .tsx files the line number for the empty tileset will probably be different but you could try just removing it

#

if it doesnt work then you could patch things together from the original Shed.tmx

humble timber
#

BRUH IT WAS THAT SIMPLEEEE IT WORKS

#

er
wait why is beams color change not working here. thonk. i swore it worked before. SDVpuffersquint

uncut viper
#

anything beyond this is likely not in my knowledgebanks SDVpufferthumbsup

humble timber
#

........ and the wallpapers are. not doing 3 tiles. whatever at least the map loaded i'll take that for tonight i need eep lmao

#

thank you for all the help, hopefully i can figure the rest out tomorrow

mighty quest
#

is there a console command for adding experience to splitscreen player?
Like debug experience <skill> <amount> for a non host player?

uncut viper
#

add screen=# at the end of your console command

#

where # is the screen number you wanna r un the command on

wraith aspen
#

if i want to add a crafting recipe that needs to be bought from a shop what would the unlock condition for that be?

brittle pasture
#

it wouldn't have an unlock condition, you'll edit the shop to add the recipe as a sellable item

wraith aspen
#

as long as i do that it won't be unlocked by default?

torpid sparrow
#

you can add an unlock condition if you want, like it only becomes available after a certain event or heart level with an npc, etc

brittle pasture
#

just set it to none

vernal crest
#

You put "none" or some other nonsense value

wraith aspen
#

got it, ty!

brave fable
#

you could put your favourite short story in there if you escape all the slashes and quotes

gentle rose
#

full script of the bee movie

hard fern
#

🤔 i wanna see if that will work

brave fable
#

it's all fun and games until someone adds a gamestatequery resolver to handle the entire bee movie

royal stump
#

it's only™ like 80k characters, so if someone adds an According gsq, it should be fine SDVpufferowo

#

(tangentially, just finished some real nonsense with escaped quotes)

"TileCondition": "AREA_CIRCLE 30 30 20, ANY \"!AREA_CIRCLE 30 30 17\" \"AREA_CIRCLE 30 30 14\", ANY \"!AREA_CIRCLE 30 30 11\" \"AREA_CIRCLE 30 30 8\", ANY \"!AREA_CIRCLE 30 30 5\" \"AREA_CIRCLE 30 30 2\"",
brittle pasture
#

archfairy circle

royal stump
#

an AREA_DIAMOND to go with it, since the math is basically the same

inland rain
rocky copper
#

Experimenting with C#, and I have a question; can I use (and if so, how) an in-game flag as the "if" for an event?

royal stump
#

assuming you're looking for a mail flag, call hasOrWillReceiveMail(mailId) on a Farmer instance
(e.g. Game1.player.hasOrWillReceiveMail("JojaMember") for the current local player)

brave fable
#

do you mean events in the SDV sense (cutscenes) or in the C# sense (callbacks)?

rocky copper
#

C# sense

royal stump
#

I should note there are a couple similar methods with different timing, but it mostly matters for actual letters in the mail, not for pure flags
e.g. mailReceived.Contains(mailId) is false if the flag has a letter attached & the player hasn't read it yet, etc

rocky copper
#

If there a page that has a bunch of these listed? I found the page for API events, but those are, like, the level above and I'd like to see what's available in the next step (the ifs)

royal stump
#

there aren't a lot of docs for the game's code, that I'm aware; in this case I remembered the PLAYER_HAS_MAIL game state query, searched for that string, and checked its options' code SDVkrobusgiggle

case "mailbox":
case "tomorrow":
case "received":
case "any":
    return Helpers.WithPlayer(context.Player, playerKey, (Farmer target) => type switch
    {
        "mailbox" => target.mailbox.Contains(mailId), 
        "tomorrow" => target.mailForTomorrow.Contains(mailId), 
        "received" => target.mailReceived.Contains(mailId), 
        _ => target.hasOrWillReceiveMail(mailId), 
    });```
rocky copper
#

Okay, thank you

gentle rose
#

honestly I think lore wise it's actually better to be in a crop circle than a fairy circle, thinking about it SDVpuffersquee

#

-# also the fact that "fairy" circles are actual things you can see irl never ceases to amaze me

royal stump
#

ig aliens are less likely to still be hanging around, among other things SDVkrobusgiggle

gentle rose
#

-# and they're always so perfectly circular too!

royal stump
#

true, and also that also tempts me to make a fractal condition
but I should really move on to other actions

#

I've written ~20 tile queries but the only things that can use them yet are "SpawnObject" and "Test" (yell in the console)

rocky copper
#

Oh holy crap, it worked

#

My first dll worked

gentle rose
#

nice!

#

it's such a fun feeling

rocky copper
#

Yeah it is, oh my god

vernal crest
#

Yes I was so excited when my first C# mod worked

#

I am still so excited every time anything I do in C# works, actually, because I have no idea what I'm doing so any success is momentous xD

rocky copper
#

So, question; my mod is using C# to add capabilities to a custom farm animal; does the dll need to be in its own mod or can it be in the content patcher mod that adds the animal?

vernal crest
#

Separate

rocky copper
#

Okay, cool

vernal crest
#

But people usually package them in one parent folder containing the C# mod folder and the CP mod folder.

rocky copper
#

That works, thank you

royal stump
#

SDVpufferwoke at last, on-arrival mine spawns

[03:16:23 TRACE game] Warping to UndergroundMine6
[03:16:23 TRACE Farm Type Manager (FTM)] Spawned 440 objects at UndergroundMine6.
#

probably requires multiple gsqs or a new query, but still

lucid iron
#

Shroomed

hard fern
#

is it just me or does sebastian have like 4 portraits that are all the same thing

#

*3

#

i cant tell the difference between $0 $3 and $6

brave fable
hard fern
#

this is his angry one tho

#

he looks like he ate a lemon

royal stump
#

SDVkrobusgiggle yeah, 2 pixels around the eyes, I was just flipping through layers
I'd assume they're not used but someone else would know

hard fern
#

actually his $u portrait is used in some dialogue lines

brave fable
#

there's a lot of emotion in those pixels.

#

mostly angst

bleak spade
#

Anyone know how to fix this error?
"[game] An error occurred in the base update loop: System.Collections.Generic.KeyNotFoundException: The 'assets/Custom_Forest.tmx' map doesn't have required layer '93'."

hard fern
vernal crest
#

Oooh I've never seen that one before

bleak spade
#

Omg thank you I'm an idiot who forgot to put the layername

vernal crest
#

I'm glad you knew what to do Forsy because I would've been lost haha

hard fern
#

so glad my mistakes are helpful XD

vernal crest
#

Much of how we learn is mistakes! How do you think I know as many things as I do xD

undone kelp
iron ridge
#

how significant is the performance impact of instead of patching a large square at once with an EditImage, to do it in smaller (such as 16x16 pixel) sections?

timid helm
#

How would one go about making a bridge in a custom location that needs to be fixed like the one to the tide pools in vanilla?

lucid mulch
whole raptor
lucid mulch
#

a single 64x64 edit will be pretty much 4x as efficient as 4 32x32 edits

timid helm
whole raptor
#

You probably would want to make a bundle, then make an edit map patch on the condition that it's finished, check the docs linked in description, I don't know the details

hard fern
#

SDVpufferwaaah event scripting is easy but so boring... if i have to look at pause 100 one more time im gonna

dapper crown
#

First time i genuinely feel forced to use harmony SDVpufferfingerguns

private static IClickableMenu? menuBackup = null;
public static void HARM_PREFIX_Toolbar_draw(Toolbar __instance, SpriteBatch b)
{
    if (Game1.activeClickableMenu?.GetType().FullName?.Contains("AFKMenu") ?? false)
    {
        menuBackup = Game1.activeClickableMenu;
        Game1.activeClickableMenu = null;
    }
}
public static void HARM_POSTFIX_Toolbar_draw(Toolbar __instance, SpriteBatch b)
{
    if (menuBackup != null)
    {
        Game1.activeClickableMenu = menuBackup;
        menuBackup = null;
    }
}
twilit quest
wise harness
#

hello all. is there a mod which has "regrow" sunflower and wild seeds in it?

dapper crown
calm nebula
#

A lot safer than using statics

dapper crown
dapper crown
#

Ill probably reimplement the same functionality so I can have it all in one mod

lucid mulch
#

__state is great, just remember to have them in the same class

lucid iron
#

That's scary

#

Surely u can just patch that one method which checks if game should be paused instead

dapper crown
#

I think this is using it right? It's slightly shorter even because I don't have to reset the state.

public static void HARM_PREFIX_Toolbar_draw(Toolbar __instance, out IClickableMenu? __state, SpriteBatch b)
{
    if (Game1.activeClickableMenu?.GetType().FullName?.Contains("AFKMenu") ?? false)
    {
        __state = Game1.activeClickableMenu;
        Game1.activeClickableMenu = null;
    }
    else __state = null;
}
public static void HARM_POSTFIX_Toolbar_draw(Toolbar __instance, IClickableMenu? __state, SpriteBatch b)
{
    if (__state != null) Game1.activeClickableMenu = __state;
}
dapper crown
lucid iron
#

Iirc the method I'm thinking of just checks for not null active menu yeah

dapper crown
#

Game1.shouldTimePass?

lucid iron
#

I think so?

#

But hm is that for the game time instead

dapper crown
#

I use that in my relativity mod to determine if any given player would normally have their time paused in singleplayer

lucid iron
#

Im on phone sadly but gl finding it

dapper crown
#

It applies correctly to fishing, opening chests, inventory, talking to npcs, etc

lucid iron
#

You can also check the activeClickableMenu's setter and getter

#

To see if it's something being set inside

dapper crown
#

It does a lot actually 💀

calm nebula
#

Oh yeah activeClickableMenu has that queue, right

#

Lol

#

I forgot about that

dapper crown
lucid iron
#

Well i really think there's gotta be less elaborate way than setting the actual menu here monS

dapper crown
#

Probably

tiny zealot
#

(C#) i'm getting (at arbitrary times) what appears to be multiple invocations of Pet.checkAction by the game when interacting with a pet just once. specifically i have a harmony postfix patch on that function which is being fired more than once.
it's not strictly harmful and i can deal with it, but is anyone else familiar with this happening, or should i be bug hunting in my own code?

#

hmm, i may have solved it. i think it was my bug

true coyote
#

welp it's been a while guess I should work on updates for my picket fence mod SDVpufferflat

safe pelican
#

Does anyone have a base template for making furniture? I want to make my own but unsure how big to make everything. Is the best way to use the current furniture in game and use that as a base?

calm nebula
#

Yeah

safe pelican
#

Thank you

lucid iron
iron ridge
#

(context: xnb2cp editimage) (green outlined areas are individual patch areas, red is changed pixels), normal coloured things aren't changed
i have a feeling this might not be the best way to split it into rectangles but it does work which is saying a lot https://i.pillow.rocks/wb9pQzr7QO

dapper crown
hard fern
#

those sure are rectanddles

humble timber
calm nebula
#

Furniture is Fun

twilit quest
#

Sorry, have I been using @ when I shouldn't be, Kat?

fair locust
#

Hey all

#

I’m not a mod author yet but I know some programming basics and I have a lot of ideas 😄

humble timber
#

also uhhhh moving it to buildings has caused... the exact opposite problem to occur,,,

fair locust
#

I just haven’t started working on any of my ideas yet because I insist on playing my modded perfect save 24/7…

hard fern
#

kat your walls r cursed

fair locust
#

Lol kat I don’t see the problem here

humble timber
#

they hate me </3

fair locust
#

Anyways I just wanted to pop in and say hi since I’ll probably be frequenting these modding channels a bit more moving forward

humble timber
#

welcome to hell where we have cursed projects

twilit quest
#

The reason why the bottom row is on buildings is to keep players from just walking onto the walls.

humble timber
#

i seee..... so that does indeed explain it not working

twilit quest
#

Sorry I wasn't clearer XD But it's fun watching the evolution

humble timber
#

LOL nw

#

i have a knack for misinterpreting people no matter how specific the language is

twilit quest
#

BTW, anything on Buildings2 won't block, ONLY items on Buildings block. If you have a tile on Buildings2 without anything on Buildings, the player will be able to walk over it.

humble timber
#

ooh noted

twilit quest
humble timber
#

i think this should be fine

brave fable
#

(this advice can be simplified to 'all numbered layers are purely visual and their properties and collisions are ignored')

twilit quest
humble timber
#

YIPPEEEE
now i need to figure out why beams color change isnt working,,, but i can wait to figure that out, i need to get ready for an appointment now

twilit quest
brave fable
#

the order in tiled isn't considered, you determine the order yourself with the number, e.g. Back1, Back+15, Back-20, ..

twilit quest
#

You're doing great, @humble timber

humble timber
#

thank you! and ty for the help again

#

tiled is. certainly something

twilit quest
#

I have found it to be unintuitive XD;;;

brave fable
brave fable
#

again, purely visual

twilit quest
devout otter
#

Condition logic check, please! Is ANY "A" "B", C the same as ANY "A, C" "B, C"?

calm nebula
#

Yes

devout otter
#

Thankee.

calm nebula
#

Distributive rule

fair locust
#

I’m curious - how do you all experienced modders come up with your ideas for mods?

brave fable
#

the voices, mostly

fair locust
#

understandable

devout otter
#

All my mods are basically "I wish there's this in the game" --> "Hey that's something I may be able to do myself".

twilit quest
fair locust
#

that’s how i’ve been coming up with mine so far, dolphin!

twilit quest
#

Other folks like adenthorn seem to see a need and try to fill it

hard fern
fair locust
#

lmao

twilit quest
#

I came up with some new Rival Hearts ideas (with pairings that have, AFAIK, never been done) so I might start dipping my toes into coding events next.

fair locust
#

ooooo i love rival hearts mods

twilit quest
fair locust
#

So far my ideas are mostly ui / utilities / etc

twilit quest
#

I'm excited to put my ideas together, but it will be a lot of work learning how to make it happen - and I have to finish my Broken Farmhouse mod first. ^_^;

hard fern
#

What a coincidence lol, im writing events for a rival hearts mod that came to me in a dream

twilit quest
hard fern
#

At some point i think i fell asleep because i dreamed about the event dialogue

#

But every conversation devolved into talking about eggs

fair locust
#

I’d love to try out some of y’all’s mods on my next save file! Give you guys some extra support and all

gentle rose
#

my mods/mod ideas all start either with “hey, what if…”, some silly joke I take too far, or being annoyed with something

humble timber
#

mine are usually me having to make my food for myself

#

ex: my winter recolor i made bc i was losing it bc no other recolors Actually toned down winter enough for me

halcyon nest
#

Typically my mod ideas are

1: farms based off of song inspo

2: stuff I make for the people I care about!

twilit quest
#

A lot of mine are also updates of other people's mods; AT versions of old CP mods and whatnot (always with permission, one way or another). But I have a few big ones and they always have scope creep. My crazy configurable slime hutch, my farm map with mini quests, and now the broken farmhouse. (TBF, the original inspiration for the broken farmhouse was another, much simpler and long-defunct mod)

brittle pasture
fair locust
#

Thank you all for your replies!

brittle pasture
#

everyone is different of course, but the common thread is that we all want to put something in that we want to play with

gentle rose
#

it’s also a big question of if you’re adding content or if you’re changing features, because they’re two pretty different kinds of ideas (there isn’t really ever a time when you need to add specific content to your game, as opposed to features where you may really feel a lack of one)

twilit quest
#

I won't play without "Like a Duck to Water", for example

signal sundial
#

what would cause my mods to not work alongside eachother? I recently made the Woolly Goat, and now I am making the Woolly Bison. But, the Bison won't show up in Marnie's shop unless I remove the Woolly Goat mod. What would cause this?

fair locust
#

I’m not planning on doing any content adding mods, at least not anytime soon. I don’t know id I have the natural creativity to come up with storylines, dialogue, art, etc

twilit quest
brittle pasture
twilit quest
round dock
brittle pasture
round dock
#

Make a mod you actually want to play with and something you actually want added in the game. Otherwise, you'd get burntout easily making a mod that's supposedly a labor of love.

signal sundial
#

I probably shouldnt do this when sleep deprived lmao

fair locust
#

What’s sleep?

twilit quest
#

In the Bison file

signal sundial
#

CRAP THANKS GUYS ❤️

twilit quest
#

I did the exact same thing trying to add two hairstyles yesterday, so I had a feeling that was it

brittle pasture
#

also recommend using {{ModId}} for your animal IDs to avoid compat issues

signal sundial
#

god, I looked it over at least a dozen times lmao

twilit quest
#

Sometimes it takes another pair of eyes

brittle pasture
#

probably too late for your wooly goat but not too late for the bison SDVpufferlurk

signal sundial
#

don't I already have that

brittle pasture
#

only for your textures

signal sundial
#

ah

twilit quest
#

Where should Arryn put it, @brittle pasture ?

signal sundial
#

yeah I am so very new at this, I am already happy when I get stuff working 😅

brittle pasture
#

(sorry on phone between work lmao)
the key of your entries of Data/FarmAnimals

#

so "{{ModId}}_WoollyBison":

signal sundial
#

LETSGOOO both here!!

#

(that icon needs a fix, I know)

brave fable
#

it's never too late to fix compatibility issues, better to rename the animal sooner than later, before more people download it and buy animals

#

just leave a notice on the update version to sell any goats they've bought before updating

brittle pasture
#

tbh that feels like overcorrecting

#

I'd do it when people start reporting issues

lucid iron
#

Maybe if new cp traction migrate farm animal

signal sundial
#

dw, I am too stupid too understand what I need to change anyway (or too sleep deprived)

lucid iron
#

Can't be that hard right

brittle pasture
signal sundial
#

gonna take a break either way, I appreciate the help 💜

brittle pasture
#

one line change

twilit quest
#

Isn't there a trigger action that migrates old versions to new versions

#

?

signal sundial
lucid iron
#

No support farm animal atm

#

Cus it was originally made for 1.5 to 1.6 iirc

brittle pasture
twilit quest
#

Ha, I was right

#

XD

signal sundial
#

so instead of
"WoollyBison": {
in needs to be
"{{ModId}}_WoollyBisonWoollyBison": {

vernal crest
#

If you just make a habit of using the mod id token in every id you make (except i18n keys, they don't need it) you'll end up having unique IDs by default.

lucid iron
#

Do you want to do i18n

vernal crest
#

Just one WoollyBison, not two

signal sundial
#

oh yeah, copy pasta fail

#

see, sleep deprived

#

can't even read OMEGALUL

#

I'll screenshot this and look at it later

brave fable
#

but i also choose not to look at my bug reports

brittle pasture
#

fixing problems proactively usually don't involve breaking changes that require ppl to sell their goats though
from a user's perspective (especially ones who don't have compat issues) you're breaking their save ahead of time, and that's a lot more angry tickets

signal sundial
#

what would cause compatibility issues specifically in my case? if someone else makes a mod that is also called woolly goat or woolly bison?

brittle pasture
#

yes

#

then only the mod that loads later wins

deep cypress
#

Where does the game store the Portraits of ur wife u can bug from the Travelling Cart?

brittle pasture
#

one of the new furniture sheets

#

you can check their Data/Furniture entries

signal sundial
brittle pasture
#

on phone so cant check myself sorry

deep cypress
#

Thx! It’s not in mine, so I’m going to re-unpack! I had my laptop start smoking…. Reusing an older ine, hooked up to a big monitor.

#

I mussed things about.

brittle pasture
#

and since RSV is pretty popular to say that's kinda a problem is an understatement

bleak spade
#

A slightly different error to the one I've been bugging you guys with: I'd added some dialogue strings for objects around the town and it worked, but now I'm doing 'EditMap' instead of Load it's now doing this

#

This is what I put in Tiled. I have a separate StringsFromMaps.json in the mod folder, but I've also added the new strings into the vanilla json

tiny zealot
signal sundial
signal sundial
brittle pasture
#

I mean there are at least three mods that add geese

signal sundial
#

but why would you install all 3 geese mods 😅

brittle pasture
#

because two of them are part of expansions

keen seal
brittle pasture
#

Stardew Valley Expanded and Mount Vapius

keen seal
#

I had this same issue last week and that was the problem XD

tiny zealot
#

go spend some time helping out in modded-tech-support and lose the ability to be surprised at what people have installed on their games /lh

signal sundial
#

oh boy lol

bleak spade
brittle pasture
#

did I mention the 4 butters

keen seal
#

Hold on, I’m turning on my PC right now, I’ll send a screenshot in a second

round dock
#

Question, for events where you're placing either foods or snacks on the table, would you have to edit things out on Tiled? Or can you just add temporary sprites in said event? I was thinking of vanilla snacks or food. P.S. This is a simple event I'm planning to add in Good Luck, Haley! where Haley invites the farmer to hang out at her house.

#

Thank you! ❤️

tiny zealot
#

you can do it in the event. i do this in lacey's picnic, let me pull it up

bleak spade
ocean sailBOT
#

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

keen seal
#

add that in your content.json under Changes, withe the FromFile set to wherever in your mod folder you've got your strings json located

#

should do the trick!

deep cypress
#

It’s in JunimoFurnitoure!!! Thx so much!

brittle pasture
#

but yeah definitely use {{ModId}}, because if FlashShifter decides to add Wooly Goats to SVE later you're not gonna have the choice to tell your users to just not use SVE

tiny zealot
signal sundial
#

well the whole reason of the goat mod, is that it doesn't exist

#

I'll change it for the bison, and i'll see what happens if I change it for the goat, if it breaks the goats already in the game or not. Goat mod needs an update anyway, they're way too expensive. For some reason, the price written in the content file doubles itself in Marnies' shop for some strange reason

#

so the woolly goat now costs 16k BorgarQueen

#

-# oopsie

tiny zealot
#

that's just default shop behavior. Price is a base price/value

signal sundial
#

yeah I had no idea lol

brittle pasture
#

well as mentioned I wouldn't change it for the goat until people reach out, and fwiw I do agree it's unlikely there are compat issues (since like you said there are no woolly goats but yours)

tiny zealot
#

pierre's has like an additional 2x markup for most stuff, but it's disabled for seeds, or something weirdly complex like that

brittle pasture
#

(it will break them yeah)

signal sundial
#

ah, okay

#

is it okay if I ping you to check my file if I did the Mod ID thing correct? Next time I am working on it, probably not today

brittle pasture
#

sure!

signal sundial
#

awesome thanks 💜

#

everyone is so nice and helpful here SDVpufferwow

true coyote
#

so im trying to update my fence to remain summer variant for ginger island, and ran into this EditImage ShilohAreles.CuterPicketFence/Default Fence #6: the When field is invalid: 'Update' can't be used as a token because that token could not be found.

#

I assume its my island edit as its the only time I use the update token

#

is update: onlocationchange invalid, or im missing something somewhere else in my content

tiny zealot
#

Update belongs at the same level as When, not inside it

true coyote
#

Hmm ill double check when I get home but I swear it wasn't inside it

bleak spade
#

But SMAPI is telling me "[Content Patcher] Error loading patch 'Custom_NewTown > MapStrings Include': file 'assets\StringsFromMaps.json' doesn't have anything in the Changes field. Is the file formatted correctly?."

opal tendon
#

how hard/possible is to to add a minigame to cooking? like when you click to cook an item instead of it just being insta done it opens a minigame?

keen seal
#

What does your StringsFromMaps json look like?

ocean sailBOT
#

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

keen seal
#

oh yay!

humble timber
bleak spade
#

(It's a mix of vanilla, SVE and my own)
(to clarify, this is a mod for personal use, in case there's worry about permissions)

opal tendon
#

what about editing a cutscene is that also possible C#?

iron ridge
#

ediitng a cutscene is content patcher but you can do it with c# if you want to

opal tendon
#

oooooo content patcher >:)

#

how does one go about doing that?

iron ridge
#

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

keen seal
# bleak spade

it needs to start with this before you get into adding the strings themselves

keen seal
#

Yes!

bleak spade
#

I forgot to add the green

keen seal
#

you don’t need it, it’s just there bc I pulled my code from Ridgeside when I was figuring it out XD

bleak spade
#

Ah okay!

unreal spoke
#

Lines that start with two slashes are comments. They’re ignored by SMAPI/CP and are just for your own information. SDVpufferthumbsup

opal tendon
unreal spoke
#

[[Modding:Events]]

#

… apparently not.

iron ridge
#

[[Modding:Event_Data]]

#

hmm#

#

oh [[Modding:Modder_Guide/APIs/Events#Content]]

opal tendon
#

ty!

opal tendon
#

oh

brittle pasture
iron ridge
opal tendon
#

this looks pretty complicated

tiny zealot
#

events/cutscenes are pretty complicated, but not in the "dealing with C# code" way, more in the "understanding how the event loop works and what is going on with the hundreds of commands" way

unreal spoke
opal tendon
#

so to change what people are saying you would edit speak and or message right? how do you like edit certain parts of a cutscene?

opal tendon
#

maybe I can't do this yet lol

twilit quest
#

That events for everyone link is great, @unreal spoke! Thank you!

opal tendon
#

yes ty!

tiny zealot
# opal tendon maybe I can't do this yet lol

if it helps, writing an event script and writing a conventional computer program are the same skill (also the same skill as putting together a content.json!), so take things one step at a time as you feel ready for them and your abilities will grow

opal tendon
#

is there something helpful for this?

brittle pasture
#

that's C# territory, and one of the hardest tasks to boot

opal tendon
#

darn it

#

maybe I could team up with someone to do it SDVpuffercoolest

#

well ty everyone ❤️

brittle pasture
#

if you wanna dip your toes into CP data editing I recommend starting with a mod that adds a food item into the game

unreal spoke
opal tendon
#

also does it make it easier if you are editing an existing minigame?

brittle pasture
#

if you just want to edit sprites, sure

opal tendon
#

I want to take the fishing minigame and make it a cooking minigame

#

and have both at the same time

calm nebula
#

I don't think editing minigames is any easier than starting from scratch

opal tendon
#

darn

lucid iron
#

Minigame is c# territory and you just gotta implement it all

opal tendon
#

I see

rocky copper
#

Okay, so opinions wanted: I'm working on a mod for a Farm Animal that itself acts as an Auto-Petter, intended as an alternative to the Auto-Petter that better matches Community Center playthroughs. I'm planning it as a late game animal that must be unlocked first. With my current code, it auto pets all farm animals, regardless of building (it itself is a Barn animal).
For the sake of internal logic and balancing, should it have limitations, like it doesn't auto-pet on days it doesn't leave the barn, like rainy days and winter?

tiny zealot
#

my internal logic tells me it should auto-pet just the animals in its home building, like the machine

rocky copper
#

My issue is that feels unbalanced if there isn't a corresponding Coop animal with a similar function. That's why I specify the idea that it goes outside to pet everyone; it's befriending all the other farm animals but only if it can go outside

signal sundial
#

does it need to be a barn animal? could be a pet like a cat or dog?

lucid iron
#

What if it's a pet instead

#

Like a sheep dog

signal sundial
lucid iron
#

Then you can just match number of buildings to number of the special pet

#

Idk if u can have pets outside of main farm tho

brittle pasture
#

yeah pets on main farm only sadly

rocky copper
#

That's a thought. I'd need to do some rewriting, its ability to auto pet is currently based around its ability to produce, so I'd need to figure out another means to trigger the auto pet.

lucid iron
#

Well it is c# mod right

#

Just do stuff in SMAPI DayStarted event

rocky copper
#

It definitely could be done

#

Oh no wait, I wanted it to swim.
It's a capybara, and literally making another farm animal that can actually swim other than the duck was the initial reason I wanted to make it in the first place, the idea of it being an auto petter actually came second based on Capybaras' general vibe

round dock
#

Another question ablobpeek is it possible to customize how long CTs go for? Like say, I want mail to fire 4 weeks after a certain event using CTs?

lucid iron
#

Increment it to 28 and then decrement one every day

twin wadi
#

or can't you just do "saw the event" and "doesnt have the ct" as conditions?

round dock
#

!ActiveDialogueEvent this one?

twin wadi
#

yeah

round dock
#

Yeah, that's what I wanted to ask. If it were possible to add a CT and customize it to say, 28 days

twin wadi
#

you can set a duration with the optional length parameter

round dock
round dock
calm nebula
#

Smh

#

You could use the autogenerated CT smh my heart

lucid iron
rocky copper
#

The section in my .dll that triggers the Auto Pet looks like this currently:

        {
            animal.wasAutoPet.Value = true;
        }```
I get a warning telling me that "parameter player is never used" but if I remove Farmer player, then it gives me an error that "AutoPetAnimal has 1 parameters but is invoked in 2 arguments".  Any idea how I solve this?
tiny zealot
#

hmm. i think that just sets the auto pet flag but doesn't give the appropriate friendship points

#

you probably want to call this function instead
public void pet(Farmer who, bool is_auto_pet = false)
and pass true for the bool parameter

rocky copper
#

Sorry, I hit enter accidentally and hadn't asked my question.

#

I did test it for a month and was not seeing loss of frienship, though. I think the FarmAnimals.cs handles the friendship part of the auto pet function, though I could be wrong

lucid iron
#

Autopet is supposed to add friendship as well

brittle pasture
#

also what others said

tiny zealot
#

here's how the auto-petter itself works

if (!(qualifiedItemId == "(BC)272") || !(location is AnimalHouse ah))
{
    break;
}
foreach (KeyValuePair<long, FarmAnimal> pair in ah.animals.Pairs)
{
    pair.Value.pet(Game1.player, is_auto_pet: true);
}```
rocky copper
patent grove
#

Hi all,

This might be the wrong channel, but in theory would 2 mods that modify dialouge for the same character be compatible if all they did was add additional dialouge to a character?

torpid sparrow
#

if you're not using the same dialogue keys

brittle pasture
rocky copper
#

Probably not 😭

#

I have previous sections that are handling things like finding the animals in the houses, if you want to check the whole script this is it:

    internal sealed class ModEntry : Mod
    {
        public override void Entry(IModHelper helper)
        {
            helper.Events.GameLoop.DayStarted += OnDayStarted;
        }
        private void OnDayStarted(object? sender, DayStartedEventArgs e)
        {
            if (Game1.player.hasOrWillReceiveMail("HarrisonGrey.AutoPetFlag"))
                this.AutoPetAllAnimals();
        }
        private void AutoPetAllAnimals()
        {
            Farm farm = Game1.getFarm();
            foreach (Building building in farm.buildings)
            {
                if (!(building.indoors.Value is AnimalHouse animalHouse))
                {
                    continue;
                }
                foreach (FarmAnimal animal in animalHouse.animals.Values)
                {
                    if (!animal.wasAutoPet.Value)
                    {
                        this.AutoPetAnimal(animal, Game1.player);
                    }
                }
            }
        }
        
        public void AutoPetAnimal(FarmAnimal animal, Farmer player)
        {
                animal.wasAutoPet.Value = true;
        }
    }
}```
brittle pasture
#

you see how the places you're calling AutoPetAnimal still has two parameters

#

but yeah use the pet() function

calm nebula
#

Also like why look at only farm

#

People stick animals literally everywhere even in the moon

tiny zealot
#

yeah i would just call animal.pet with is_auto_pet set to true and don't bother checking wasAutoPet or making your own AutoPetAnimal function

rocky copper
#

Alright, we'll see if I can do that

#

If I can call the animal.pet function, do I still have to affect the friendship values or will FarmAnimals.cs do that?

brittle pasture
#

if you decompile the code you can see it does just that

rocky copper
#

Okay cool

#

Just making sure because I thought that's what I was already doing

blissful panther
#

Could I make a teeny tiny possible request? SDVkrobusgiggle

#

Instead of iterating over all of the animals.Values, iterate over GameLocation.getAllFarmAnimals() instead, because I have that patched to exclude MEEP-spawned animals. Otherwise we'll run into issues!

It also checks every building in the location for farm animals, so it could save some repeated code.

latent mauve
#

Oh whoops, Discord JUST loaded in all the messages after that one

gentle rose
latent mauve
#

I'm assuming someone already corrected the use of assets/StringsFromMaps in their Target field when it should have been Strings/StringsFromMaps to add their new string entries

tiny zealot
# rocky copper Just making sure because I thought that's what I was already doing

what you were already doing was setting the flag that the pet function sets when it's called with is_auto_pet set to true. the result would be that an actual auto-petter would not have any effect on them (so the pets wouldn't gain any friendship), they would gain less friendship from actual petting (since the game would think they already got the reduced auto-petter value), and the interface would show that they had been auto-pet (but as mentioned before, without gaining the effect)

rocky copper
#

Got it, okay wow

#

So can I can the animal.pet(player) function in the Prive void AutoPetAllAnimals section?

tiny zealot
#

yes, it's public

uncut viper
calm nebula
#

(Why not make them petable)

true coyote
#

man some of these codes get away with some crap lol

#

literally looking at gwen's code (since its the only mod i have that i can think of that has code for island seasonal overwrite) and smapi throws a fit when i use that section of code for my own island overwrite

rocky copper
#

Okay, I have foreach (FarmAnimal animal in animalHouse.animals.Values) { animal.pet(Farmer player, bool is_auto_pet = true); }
But "is_auto_pet" is red and cannot be resolved. I believe I need to add that in here as a property this section understands, but can anyone tell me how I do that?
Nevermind, I think I got it

true coyote
#

if anyone has a mod they can think of with code that will not make smapi mad at me i'll take it

#

what works for gwen's (written in my content json, yes the name and then when segments in the first bit had different tokens in gwens):

        "Name": "IslandOverwrite",
        "Value": "False,"
        },
        {
        "Name": "IslandOverwrite",
        "Value": "True",
        "When": { "Island Overwrite": "True",
                "LocationContext": "Island" },
        },```

plus 

```{
        "Action": "EditImage",
        "Target": "ShilohAreles.CuterPicketFence/Default Fence",
        "FromFile": "assets/Seasonal/{{Tone}}/{{Recolor}}/Picket Fence_Summer.png",
            "When": {
            "Island Overwrite": "True",
            },
            "Update":
                "OnLocationChange",
        },```
#

but smapi says i need an action SDVpufferthinkblob

#

unless there is something else in gwen's code im missing in this massive content json of theirs, why cant relevant code stay together 😩

#

oh, revelation

mighty quest
#

did they get rid of the spotlight channel?

round dock
cold marsh
#

In theory, would it be possible to use Spacecore's SourceSizeOverride feature to have 16x32 objects instead of 16x16? Has anyone attempted this?

#

SourceSizeOverride does work with layers, right?

lucid iron
cold marsh
#

Oops, I meant EditImage overlays. I keep calling them that in my head.

lucid iron
#

They aren't layers really

#

In cp terms they are patches and the final texture is just 1 set of pixels

#

I don't think you can have bigger draw destination rects with spacecore

#

Source rect override allows higher definition

cold marsh
#

Hmm, fair. Appreciate the answer.

true coyote
#

me testing code changes:

opens SDV
sees red in smapi
"crap"
closes SDV

rinse and repeat for 1+ hours

rocky copper
opal tendon
#

how is the best method to find the location of the thing you are changing with edit image on the big sheets like springobjects?

rocky copper
# blissful panther Could I make a teeny tiny possible request? <:SDVkrobusgiggle:898395746875875379...

Can you help me with this? I have

        {
            Farm farm = Game1.getFarm();
            foreach (Building building in farm.buildings)
            {
                if (!(building.indoors.Value is AnimalHouse animalHouse))
                {
                    continue;
                }
                foreach (FarmAnimal animal in animalHouse.animals.Values)
                {
                    animal.pet(Game1.player, is_auto_pet: true);
                }
            }
        }```
Where does the `GameLocation.getAllFarmAnimals()` go, would it be instead of the `foreach (FarmAnimal animal in animalHouse.animals.Values)`?
mortal hatch
#

i need some opinions for the farm i am making

#

and also, should i let the grasspatchborder be cliffs or flat?

opal tendon
#

Does this grid look right for finding things locations

urban patrol
urban patrol