#making-mods-general

1 messages · Page 265 of 1

fathom hound
#

I’ve never even encountered it before either

#

Someone said it took them 4 hours to be able to opt in

#

It’s hour 20 for me

#

I don’t get it

#

Nexus isn’t helping much either SDVsobastian

lucid iron
#

Yes you can but it may be dangerous LilyDerp

fathom hound
#

Should I delete the mod and just change manifest for a new mod page?

lucid iron
#

You are probably better off making a mod that simply copies the save file somewhere else

#

And i was under the impression this was an android smapi feature already?

fathom hound
#

Not smapi. Vanilla feature

#

Save backup button

lucid iron
#

Yeah there u go ty anaira

lucid iron
fathom hound
#

Yay I finally helped out in here heh SDVpuffersquee aSDVemoteheart

fathom hound
lucid iron
#

@twin mantle or ig we just ping here hi picky pls help

fathom hound
#

Ty chu SDVpetcatsad this is actually soul crushing

#

I was so excited to release this lolol

twin mantle
fathom hound
twin mantle
#

You can only add mods that are visible. So having it hidden is why you couldn't opt it in

frail canyon
fathom hound
twin mantle
#

Can you unhide it and try to opt it in now?

fathom hound
#

I’ll try again

frail canyon
#

Ideally I would be able to use a sync operation and it would load from the custom save location on android and I would be able to sync those files between windows and android automatically.

#

using a 3rd party app

fathom hound
twin mantle
fathom hound
twin mantle
#

I mean on the DP page 🙂

fathom hound
#

Yes sorry

twin mantle
#

Just in case you're wondering, we've got until 31 March at 00:00 GMT to fix this. As long as it's opted in during that moment, all interactions for the entirity of March will be counted regardless of when you opted it in.

#

It is quite weird, the Opt In page can be up to 15 mins behind the main site sometimes.

fathom hound
#

Oh I didn’t know that SDVsobastian so I could’ve been visible this whole time and it would’ve counted. I feel like a fool

twin mantle
fathom hound
#

So it’s every end of the month at 00:00 GMT?

#

And all DP for the month will be retroactively applied?

twin mantle
#

Yeah so at 00:00 GMT every month we take a snapshot of all mods which are public, visible and opted in. Then it counts up the interactions for the entirity of the previous month

fathom hound
#

That’s actually really good to know thank you so much

twin mantle
#

So you could publish your mod on March 1 and forget to opt it in until March 30 without missing out

fathom hound
#

Gotcha SDVpuffersquee understood what you meant

twin mantle
#

Obviously we need to figure out what's happening for your mod though

fathom hound
#

Yeah!!! It’s weird );

twin mantle
#

Can you try logging out and back in? It shouldn't make a different but it does refresh all your account tokens

fathom hound
#

Omg it worked AAAAA

#

TYYY

twin mantle
#

Phew!

fathom hound
twin mantle
#

Furiously notes down that logging out and back in can help with this

fathom hound
twin mantle
#

Haha no worries

fathom hound
#

I must’ve hid it on minute 14 or something /j

#

But yes sorry and thank you again!

twin mantle
#

Maybe, glad we got there though SDVpufferchicksweatsip

fathom hound
#

Cheers!

hot oasis
#

Is anyone familiar with using the More Nightly Events framework?? Im having an issue with the cutscene playing every time I sleep, but only want it to play once! Thanks!!!

gentle rose
#

if you're making a mod, we probably need to see your actual code

tribal ore
#

Is there a way to get CP to apply a set of patches -- one for each value in a list? I see the existence of valueAt can get me a specific item in the list, but there doesn't seem to be any way to iterate

#

So there must be something I don't quite understand

#

I want to apply an edit to Characters/Dialogue/<name> for each <name> in a token

#

Clarification: I don't know the length or content of the list beforehand

#

Just whether there are values in it or not

vernal crest
#

In other words, I don't think so.

#

Iteration is forbidden to the Content Patcher people.

tribal ore
#

Alright. If that is the true nature of the beast, then I will have to go with plan B -- defining a dynamic token based on date, and hoping that I don't need to edit two different NPCs on the same day

#

sigh

vernal crest
#

The good news is that if it is possible, I've just made it more likely that someone else will tell you that by giving them something to contradict SBVMischief

tribal ore
#

Fingers crossed! xD

gentle rose
#

iteration of this kind is indeed forbidden afaik

#

but you may be able to do some magic using TargetFile

quaint idol
#

Would it be possible to make a mod API that allows you to disable an enable mods per save
Also would It be possible to make an API that would make a world type thing so we can have entirely new worlds per save (it would be set types similar to the farm types but for the whole layout). It would also be selected in a menu the same as farm type select in a box next to farm type

gentle rose
quaint idol
#

I'm not

#

Like just a new layout

#

Like how there is new farm layouts a new world layout would be cool

gentle rose
#

of the entire town?

quaint idol
#

The entire map

#

Everything

gentle rose
#

the reason not many people do those is that it would break like half the game

blissful panther
#

The second would definitely be possible, but a lot of work, yeah.

quaint idol
#

Ok

gentle rose
#

and would immediately be incompatible with most modded NPCs etc

blissful panther
#

The first one... that would need SMAPI to completely change when it loads the mods, or require a restart when you load into a save at minimum. So also a lot of work, but technically possible. SDVkrobusgiggle

quaint idol
blissful panther
#

Yeah, total conversion mods are great! I don't think there's been a single one for Stardew.

gentle rose
#

stardew just isn't built to accommodate those so it is a considerable undertaking for relatively little payoff (if you're just rearranging the map)

blissful panther
#

The second one could be done by purely (well, mostly) content mod people for sure, though. Just need someone with the ability, time, and willpower to undertake a potentially huge task!

drowsy pewter
#

for disabling and enabling mods per save, i suspect this is a solution to a problem thats already solved by mod groups

patent atlas
gentle rose
#

(the first one could theoretically be achieved by modding stardrop rather than smapi or the game and using skip intro, to make a mod group for each save behind the scenes, fake the save selection menu, then use skip intro to load you directly into the correct save that you chose)

patent atlas
#

so for a new world you either need to actually update every single npc in-game, then modded npcs would need to make different versions of their npcs for your map

Or you rewrite stardew from the ground up to make npcs interaction targets be picked dynamically somehow

#

and at that point just go make a game

gentle rose
#

or do an equally difficult middle version where you dynamically update schedules to change old coordinates to new ones, which will be extremely fragile

patent atlas
#

the only "dynamic" targets in schedules are just hardcoded with extra steps lol

#

i think its like

#

going home?

gentle rose
#

by dynamically I mean using C#

#

to modify schedules as needed

patent atlas
#

ye

#

could be too

#

i'm just adding another thing

#

was unrelated to your proposal

patent atlas
gentle rose
rigid oriole
#

You could do this and someone will still ask if it's compatible with (insert expansion)

patent atlas
#

the human mind cannot inately comprehend how static the world of stardew trully is SDVpufferpensive

hallow igloo
#

this is for me lmao

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.

tiny zealot
hallow igloo
#

gotcha

#

okay so I have a patch that adds a destination to a Data/Minecarts field, but it throws an error the field doesn't match an existing target, but I have the exact same thing set up for three other places and they all work?
one of them is default so that makes sense, that was already a valid target, the other two are also new targets but they don't throw an error
https://smapi.io/log/c92aac7db20b4b93873eeb23883a4a30

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 17 C# mods and 13 content packs.

rigid oriole
#

Did you see the red error? Your json supposedly has a missing field

hallow igloo
#

that's a different mod, unrelated

rigid oriole
#

!json if you post your json we can help

ocean sailBOT
#

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

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

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

rigid oriole
#

In your manifest, is ridgesife a dependency for your mod so it loads first?

hallow igloo
#

I'm not targeting the minecart list from RSV though, I'm making my own

rigid oriole
#

Idk enough about minecart data unfortunately so that's all I've got. Someone else is gonna have to jump in

hallow igloo
#

ty anyway ^^

urban patrol
#

theoretically, is there a way to create an NPC-shaped object if i don’t want to go through the trouble of fleshing out an entire character? i’m imagining a shopkeeper who never moves but could perhaps say a few lines of randomized dialogue when you click on them, and who would count as the owner of a shop

#

i’m not opposed to making them a full NPC but if i can save time then hell yeah

gentle rose
#

I mean, can't you just make an NPC with minimal information? or alternatively just bake them into the map and make the dialogue a map action or something SDVpufferthinkblob

urban patrol
#

baking them into the map is one way i was thinking of doing it, yeah! i wasn’t sure if i would be able to have them run a shop though 🤔 and yeah i could make the whole NPC profile for them but wanted to save time if possible

lucid iron
#

Many shop keepers are just map tiles

#

If you just want portrait then that's all you need

odd ginkgo
#

yes on the map you can just use Action OpenShop for that building tile

urban patrol
#

awesome, i’ll try that! does anyone have examples off the top of their head of map tile shopkeepers i could look at for an example

#

oh okay cool!

odd ginkgo
#

one sec I'll screenshot my flamingo shopkeep, he's just a map tile

#

okay and then you can see here that the action opens up Flamingo_Shop, which is the shop I've defined in the json

#

and then here is how I formatted the opening to the shop:

#

{
"LogName": "Load Shop Portraits",
"Action": "Load",
"Target": "Portraits/Flamingo_Shop",
"FromFile": "assets/Flamingo_Vanilla.png"
},
{
"Action": "EditData",
"Target": "Data/Shops",
"Entries": {
"Flamingo_Shop": {
"Owners": [
{
"Name": "AnyOrNone",
"PurchaseSound": "Ostrich",
"Id": "Flamingo",
"Portrait": "Portraits/Flamingo_Shop",

#

followed by dialogue and items etc

urban patrol
#

ohhhh i see! that’s exactly what i want, thank you so much

odd ginkgo
#

hope it helps!

#

oh, and make sure Name says "AnyorNone", if you put an actual name there the game will look for the NPC with that name, which you don't have

#

that was my problem for a minute when the portrait wasn't displaying

tribal sable
#

how to start making mods for SV?

hallow igloo
#

iirc it's usually adviced to start by making a very small NPC, as it's not too hard and includes a wide scope of things to know about content patcher

#

after that you can try to figure out what you want to make ro switch to C# mods, but those are a whole nother ballpark

tribal sable
#

k

faint ingot
#

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

odd ginkgo
#

what kind of mod do you want to make?

tribal sable
#

want to update a mod

lucid iron
#

Which mod is it?

tribal sable
#

Wood Maker

#

author said mutiple times he doesn't wan to update it

faint ingot
#

It sounds like he's saying he 'doesn't have time' to update it which is a bit different, right? If you want to though you could try to fix your own instance of the mod, and if you manage to get it working you could ask the author for permission

lucid iron
#

You can remake this mod as a content patcher machine

#

It'd be basically same as the wood chipper

tribal sable
faint ingot
#

unrelated but... can anyone tell me what I'm doing wrong with this spacecore trigger? I think it should be running every time I enter the matching location, but it doesn't re-trigger at all even the next day "{{ModId}}_Ghostwood_TriggerMonsters": { "Id": "{{ModId}}_Ghostwood_TriggerMonsters", "Trigger": "LocationChanged", "Condition": "LOCATION_NAME Here {{ModId}}_Ghostwoods_S {{ModId}}_Ghostwoods_E {{ModId}}_Ghostwoods_W", "Actions": [ "spacechase0.SpaceCore_TriggerSpawnGroup {{ModID}}_GhostwoodGhosts {{ModId}}_Ghostwoods_S 1,2,14,11/28,6,10,9/3,23,8,11/26,30,11,7", "MarkActionApplied Current {{ModId}}_Ghostwood_TriggerMonsters false", ] },

brittle pasture
faint ingot
#

whoops

brittle pasture
#

the action is to mark a different action to retrigger. you cant use it to make an action mark itself

faint ingot
#

OK I understand, thank you

tribal sable
lucid iron
#

You have to toss all of it out

#

At least all the jsons but possibly need to reformat the sprites too

odd ginkgo
#

I might recommend trying to make your own mini machine mod first, so you get an understanding of how to format things in 1.6, with the latest coding

#

or downloading a different custom machine mod and then looking under the hood to see how they did it

tribal sable
#

i downloaded a machine mod from nexus and im comparing it to this one

#

im seeing some discrepancies and some "line variations"

brittle pasture
#

the machine mod you are trying to update uses PFM and JA, the latter being deprecated
recent machine mods just use content patcher, which is why they are different

#

as chu said, just toss out everything and learn to make machines from scratch

tribal sable
#

aa okay

wet wadi
ocean sailBOT
#

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

faint ingot
#

hmmm so I tried setting a spacecore-spawned monster's 'resilience' to 999 and it still seemed to take normal damage. If possible I'd like any hit to do 0-1 damage (but still knock the monster back)

#

I can set the HP super high but that alone doesn't make it obvious the monster isn't intended to be killed

lucid iron
#

Does 99999 make a difference

faint ingot
#

also can monsters and foreagables spawned with spaceCore be despawned with it? I see spacechase0.SpaceCore_ClearSetPiecesFromSpawnable but I don't think that's for the same thing

faint ingot
lucid iron
#

I don't think so

#

Don't monsters get despawned end of day

faint ingot
#

it doesn't appear that they do

#

there must be something I'm missing though because like if I spawn 3 mushrooms at the start of day at a certain location, there will be 12 mushrooms after 4 days. I could do it conditional on visiting the location but it would still spawn more if I didn't pick those up

lucid iron
#

That is strange hm

#

Sadly i don't know very much about what's considered a set piece for spacecore

faint ingot
#

just tried 999999 for resilience and I'm still doing around 100 damage on hit with a galaxy weapon

calm nebula
#

One thing the monster data doesn't explain is that sometimes shit is hardcoded for inexplicable reasons

#

So we will need details

faint ingot
#

Also yeah the monsters definitely aren't clearing out at end of day

lucid iron
#

Haunted

#

I wonder how did lurking in the dark do this

#

A previous version of that mod made shadow brutes in the mines basically invulnerable when you have the pacifist option on

uncut viper
#

was it a C# mod bc itd be easy to prefix ShadowGuy.takeDamage

faint ingot
lucid iron
#

No it's cp only from what i know

flat sluice
uncut viper
#

tbf with BETAS itd still be easy to patch that

lucid iron
#

But since litd is just patching over all shadow guys it's not the same as spacecore spawnable monster

#

Did you try LA on the ghosts you spawned to see if they have the stats you expected?

#

Need datamining fields on

faint ingot
#

this is what I currently have { "Action": "EditData", "Target": "Data/Monsters", "Entries": { "Spirit": "999/20/0/0/true/0/768 .95 768 .1 156 .08 338 .08 -6 .2 97 .005 99 .001/999999/.01/40/6/.0/false/99/Spirit", } },

#

"{{ModID}}_SpawnGhost": {
"Type": "Monster",
"MonsterType": "Ghost",
"MonsterName": "Spirit", // Setting this will make it pull that entry from Data/Monsters for stats
"MonsterTextureOverride": null, // Override the spritesheet of a monster
"MonsterAdditionalData": {}
},

#

Sorry what is LA?

hard fern
#

lookup anything?

faint ingot
#

ah

strange dew
#

anyone available that is versed in recipes? i have not been able to find any info on if i need to use specific numbers for index 1 for cooking, or if random numbers are okay?? should i just grab one from a vanilla recipe or something lmao

brittle pasture
#

Index 1 is unused

#

put whatevs in there

strange dew
#

cool, i thought so. just wanted to check

#

thanks!

faint ingot
lucid iron
#

Might just need to kill all of em to spawn new ones think

faint ingot
#

tried it with bugs and they show the right defense value so yes it appears ghosts are hardcoded

lucid iron
#

I guess you can make them bats

#

Just like haunted skull (secretly bats)

faint ingot
#

yeah that's what I was going to try next, ty

tidal stone
#

if im making seperate dl files for different colors do i need a unique manifest for each one or can they all just be da same

lucid iron
#

What do you mean by different colors

faint ingot
#

maybe I should have figured out how to get rid of them before worrying about making them invulnerable

lucid iron
#

Horror movie

faint ingot
#

Let me know if you ever figured out how to do this I have the same problem... did you just turn to FTM for this?

tough crater
#

I took a vacation from my stardew modding and figured out how to get the custom tokens to work (it was much easier than I made it out to be).

I'm now wondering if there's a way for me to drop the ModId part of the token calls (using {{sixthirtyam}} instead of {{L0veRaven.CoreDLL/sixthirtyam}}) like how Content Patcher uses {{season}} instead of writing out {{PathosChild.ContentPatcher/season}}

old edge
#

Ooh ok good idea

uncut viper
#

i mean you can make a dynamic token whose value is your custom token with a shorter name, but you cannot make the custom token itself not have your mod ID. that is by design

old edge
#

I will make the screen shake by using viewport commands

tough crater
#

So how does Content Patcher get away with it for their own tokens?

uncut viper
#

it'd be an awful design to allow removing the mod id

old edge
#

Then I need a good sound effect for something ghoulish in a sea cavern locale

uncut viper
#

... Content patcher is the mod? It can do what it wants

#

custom tokens are registered with content patcher and then can be used with ANY content patcher mod that adds yours as a dependency

lucid iron
#

CP is doing this to namespace everyone else's tokens

uncut viper
#

What if I also added a token called "sixthirtyam"?

#

I don't think a token is shorter than writing 630 anyway

tough crater
lucid iron
#

Anyways you could do away with tokens if you just did the data edit yourself, depending on the use case

uncut viper
#

your core mod is not a content patcher mod, so the premise doesn't make sense

tough crater
iron ridge
#

If its am you don't need to change anything anyway

uncut viper
#

a content patcher mod cannot register a custom token in the first place

#

a non-CP dll mod can

tough crater
tough crater
uncut viper
#

from content patchers perspective, the c# mod you are registering from is completely unaffiliated and largely irrelevant outside of your use of its API. it does not manage it and does not do anything for it (again, exception API use)

#

you likely would not even use a custom registered token inside your own c# mod

#

from smapi's perspective, your core mod and your content pack for content patcher are also two completely separate mods, one just has a dependency on the other (presumably)

tough crater
#

So it's pointless for me to try to make a "shortcut" token of sorts?

#

Or I'd have to make a content patcher mod of my own in order to make my own tokens work the way I'd like it to?

uncut viper
#

that's subjective and up to you. If that's all your core mod is doing, I'd call it not worth it

#

I'm confused what you're doing. Why would you want a content patcher mod of your own? You don't need tokens in C# and if you're using content patcher then you still CAN make your custom tokens, they just need the modid

#

If it helps you remember the 24 hour conversion, it can still be useful

#

Just not shorter to write

tough crater
#

Hm

uncut viper
#

But, you can also do that anyway with dynamic tokens, so maybe not

tough crater
lucid iron
#

I think it would literally be faster to toss these in a i18n file

tough crater
#

I don't want this stuff clogging up my content.json

uncut viper
#

If it's only for yourself to use and you weren't making tokens for other people to use, dynamic tokens are better

#

I18n would also work though still not shorter to write

tough crater
#

It's about saving space highkey

lucid iron
#

Then you can {{i18n:sixthirtyam}} and do one sed at the end to replace all

uncut viper
#

Space is meaningless when you can make more

#

There is otherwise zero way to remove the modid from the custom token

lucid iron
#

And remove the times.json from ur i18n so u don't ship it and confuse translators

rancid musk
#

@ivory plume Hey there, couple questions. First, do you have any ETA for the next update to Lookup Anything releasing? I was hoping to have that update out before I release Better Game Menu, since it's a pretty popular mod. On the same note, do you know when you might take a look at the pull request for BGM support I made to NPC Map Locations, since you maintain that mod? Just wondering what your schedule looks like.

tough crater
#

I'm planning on making multiple NPCs, so having them reference the same info would've been easier

#

This is frustrating

uncut viper
#

you can make multiple NPCs in the same mod, so they would already reference the same info

lucid iron
#

We suggested alt ways to do this

tough crater
lucid iron
#

But ultimately it's kind of bad user experience to download another mod just for what amounts to constants

#

Imo you should resolve all the tokens to their true values b4 release

uncut viper
#

to be fair to yourself, you did figure out how to add a custom token in the first place, which is pretty good tho

lucid iron
#

Yeah custom tokens are handy in other cases DokkanStare

#

Usually when the value is changing

uncut viper
#

i do agree that if they are constants they should be replaced before release anyway

#

in this specific case I mean, where "sixthirtyam" is literally never gonna have reason to change

ivory plume
rancid musk
#

Awesome, sounds good 😄

tough crater
#

So it would've been included regardless

lucid iron
#

Like a single mod right think

tough crater
#

SIngle mod, separate folders, that kind of thing

lucid iron
#

Are they all CP packs

tough crater
#

Yeah! The only C# mod would've been the core mod with all the shared info

faint ingot
# tardy adder yup ftm

OK thank you I'm now finding myself browsing FTM's source to see if I can figure out how to do it myself but I'm bad at this. SDVpufferwaaah

lucid iron
#

Then you can just make 1 CP mod yea

tough crater
#

But like you mentioned, it's kinda not really efficient considering how the custom tokens work

lucid iron
#

The i18n solution will work pretty well for you in that case i think

#

Remember that you can have a folder for your i18n now

lucid iron
#

So something like default/actual_lines.json default/times_REMOVE_BEFORE_SHIP.json

tough crater
#

OH, so basically doing a CTRL+H and replacing the names right before release?

lucid iron
#

And remember to do a big search and replace from token to actual value

#

Since u got multiple npc this will be nice for organizing their lines too

#

Ultimately you are release one CP mod, with 1 manifest.json & content.json

#

All your previously split content.json can become includes

viral river
#

How would I make a mod to for example make different variants of discus to add to aquariums, new to any modding

#

(Please use reply feature I'm dumb)

lucid iron
#

!startmodding

ocean sailBOT
#

Making mods can be broadly divided into two categories:

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

lucid iron
#

You can do it entirely in content patcher

lucid iron
# viral river How would I make a mod to for example make different variants of discus to add t...
Stardew Modding Wiki

Adding a new fish to the game has never been easier than in 1.6; nowadays, fish are a simple set of patches via Content Patcher. There are four required steps: you need to load sprite images, define the fish (as an item, and as a fish) and add it to locations. Optionally, you can add aquarium sprites and data, and fish pond data. I'll be using ...

hot gale
#

My mod got featured on the new daily mod spotlight in the StardewValleyMods subreddit, that was pretty cool to see while randomly browsing reddit this morning 😁

viral river
#

Are you able to make multiple fish with the same name? Or would I have to make different names for each

lucid iron
#

You can have the same display names but you need different internal id

#

It would be fairly confusing to the player though, I don't recommend doing this

#

The vanilla discus is already "blue discus" right, can just follow the same scheme

viral river
#

That is true

#

I think would be nice to add a few other colors maybe some other fish variants

#

It's my first time playing since the ginger island update so I'm getting caught up on the changes to content and coding haha

#

Honestly I forgot that the in game one is specified as blue discus haha
If anyone has other ideas of fish that could use variants feel free to suggest : >

Goldfish would be cool, surprised we don't have a goldfish in base game

craggy cape
#

im making a CP mod to change the moss and moss seed to a pink color..
got the art done, it was simple. but how do i format the content?

#

im using the example in the wiki as a guide but im still confused

#

all i have rn is
{ "Format": "2.5.0", "Changes": [ { "Action": "Load", "Target": "Animals/Dinosaur", "FromFile": "assets/dinosaur.png" }, { "Action": "EditImage", "Target": "tilesheets/objects_2", "FromFile": "assets/fish-object.png" } ] }

#

changing the files and assets ofc but idk what to change aside from target

tawny ore
craggy cape
#

whole image meaning all the sprites on the sheet, correct?

#

i just wanna replace 2 sprites lolll

tawny ore
#

Yeah, that means everything on the sprite sheet. Area lets you target specific parts of it.

craggy cape
#

oo oke

tidal stone
#

    "Changes": [

        {
        "Action": "EditImage",
        "Target": "Tilesheets/Objects_2",
        "FromFile": "assets/(your recolor_.png",
            "ToArea": { "X": , "Y": , "Width": 16, "Height": 16 },
        },```
tawny ore
#

You'll need both because it's basically like copy from your file and paste into the sprite sheet

#

The width/height have to match, but the coordinates just have to refer to the top-left of the sprite

craggy cape
tidal stone
#

uwu_nod
the two area basically is its coords on the sheet yee

craggy cape
#

and can i use one image for two sprites, or should they all be seperated?

tidal stone
#

you can use vs code to write it and it'll tell you when you have a good looking content patch

craggy cape
tidal stone
#

i would seperate them

craggy cape
#

ahh oke

#

lemme do that rq and add em as assets

uncut viper
#

are both of the sprites you're replacing next to each other (vertically or horizontally)? bc if so one image is fine

craggy cape
#

next to eachother

tidal stone
#

ooh uwu_nod

tawny ore
#

One image is fine either way, it's just whether it can be done in one or two patches

uncut viper
#

one image is better performance-wise

tidal stone
#

i didnt erealise they were next to eachother

craggy cape
#

ah oke

uncut viper
#

its like, negligible, but technically better

brittle ledge
uncut viper
#

(negligible for one mod. ofc if all mods did many images itd be a lot worse)

brittle ledge
#

clearly we need more sea bass

craggy cape
#

if i kept catching sea basses i will rage quit. acnh ptsd /lhj

uncut viper
#

you could still do one image if they werent next to each other but it'd still be two different patches and probably equivalent to two images

#

in terms of perf

brittle ledge
craggy cape
#

they wuite literally are next to eachother hehe

tidal stone
#

x3

#

tmoreyaknow

craggy cape
#

soo how can i find the X/Y coords

tidal stone
#

each 16 tile is 1 15 tile so you kinda just count iirc do you have anything that can make a 16 grid

tawny ore
craggy cape
#

idk if i can get it to be accurate pf

#

would a close proximity number be accurate enough or?

#

like if i hover over the moss it says 105, 70

tawny ore
#

It should align to the grid so whatever number divided by 16 is 0

#

So go to the closest X and Y that are divisible by 16

craggy cape
#

oke dokie

hard fern
#

If you can enable "grid mode" and set it to be 16x16 i think that will work

craggy cape
#

well its ms paint on windows 10 so idk if i can PFF

ornate trellis
#

love me tiled for these moments

hot gale
#

Do people not use texturepacker?

craggy cape
#

never heard of it

hard fern
#

Ms paint...

craggy cape
#

to get the coords..

#

i used pixlr for the edits

hard fern
#

Ok im a little scared 😨

craggy cape
ornate trellis
#

i mean, people generalla say anything better than paint will do

hot gale
#

Texturepacker takes individual images and stitches them into a tilesheet for you. It can also output a json with all relevant x/y data

rigid musk
#

Ever since Aba told me about aseprite's grid feature thing I have been saved from the horrors of figuring out tile indexes

hard fern
#

You best believe i have counted out at least 100 squares to find an index

ornate trellis
#

96,64 according to tiled

hot gale
#

I use gimp and texturepacker I just can't get into aseprite then again I'm not an actual artist

tawny ore
#

Paint.net is free, and was good enough for CA to do all the SDV artwork

hot gale
#

I used texturepacker religiously when I was making vampire survivor mods

ornate trellis
hot gale
#

Oooh that's handy

tawny ore
#

Tons of options, almost anything is better than MSPaint, although they have been trying to improve it a bit recently

tidal stone
#

i plamn on buying asesprite next month :3

rigid musk
#

I used to use pixelstudio

hot gale
#

My girl uses resprite on her ipad

ornate trellis
#

lumi showed me the trick lol, just make a random map file and put the tilesheet you need coords from in there to find em for you

craggy cape
#

i think windows 11 has a grid feature for ms paint, but alas i cant FUCKING UPDATE TO IT

rigid musk
#

its pretty good but I like aseprite better for the features

craggy cape
rigid musk
#

I finally finished the horrible monster that was my 13h event... the amount of cursed issues I had with that thing were a lot (also i didnt realize but if you use two 'quickquestion' commands in your events you still start the other one with a / not a \ like I would have thought since its within another quickquestion...)

ornate trellis
#

thats x= 96 and y=64 and then size is 16 height and 32 width

dusk mulch
#

I wonder at what point does a mod stop modding SDV and it just becomes it own game…

craggy cape
#

lmaoo

hot gale
#

Texturepacker will export all the relevant json data when you make the sheet, but idk if people make sprites individually like I do or just draw them on a gridded canvas at once

rigid musk
hard fern
#

I love mouse... i want to make mouse...

craggy cape
#

ok so this will change the two sprites right?
`{ "Format": "2.5.0",

"Changes": [

    {
    "Action": "EditImage",
    "Target": "Tilesheets/Objects_2",
    "FromFile": "assets/mossandseed.png",
        "ToArea": { "X": 96, "Y": 64, "Width": 16, "Height": 32 }
    }]}`
#

or should it be width 16 height 16

#

i think height 32 might mess it up

ornate trellis
#

you switched width and height

craggy cape
#

ahh

#

so width 32 height 16

hard fern
#

when reading coords it's always x, y

ornate trellis
#

also that

hard fern
#

algebra class paid off

craggy cape
#

i can totally process information properly /lhj

rigid musk
hard fern
#

yeah

shut mountain
#

Roommate Hat Mouse

craggy cape
#

but yea thatll change the two sprites correct .ᐣ or should i add another to area snippet

hard fern
#

honestly the idea spawned from seeing a video where researchers made a new mouse and it just went from there

#

and i just thought "why not make more mice. everyone likes mice"

ornate trellis
craggy cape
#

oke doke

ornate trellis
#

do you mean wooly mouse

hard fern
#

yep

ornate trellis
#

i love wooly mouse...

hard fern
#

that wooly mouse XD

shut mountain
#

Wooly mouse?

hard fern
#

"floofy" being used in a scientific context is hilarious too

shut mountain
#

Wooly mouse sounds wrong and very cute

ornate trellis
#

you know how theres wooly mammoth

craggy cape
#

floofy mammoth

ornate trellis
#

they were like we should bring them back and tested it with a mouse and born was wooly mouse

tulip valley
craggy cape
#

LMAO

ornate trellis
#

to sum it up reallly simply

shut mountain
#

Wooly mouse is in fact cute

#

I 100% support its addition to SDV

craggy cape
#

okay i think i did it properly.

#

time to bootup stardew

shut mountain
craggy cape
shut mountain
#

Idk something humans do

ornate trellis
#

we all share a community braincell in this server

craggy cape
#

yea i think before i speak. i think "hehe" and press send

ornate trellis
#

and its somehow never my turn /j

craggy cape
#

no red text, mod appears in the smapi list..

#

maybe i did do this right

ornate trellis
#

time to spawn em in to see

craggy cape
#

yall i think ive been converted to a mod maker now

#

/lhj

#

if this works ofc

#

LMAO

ornate trellis
#

nothing can stop you now

dusk terrace
#

has anyone who has played with dialogue boxes spaghetti code know which method I could hook into to set a one time position offset?

I thought I was good with the constructor but I don't want it on question boxes, and the follow up to questions aren't new dialogue boxes for spaghetti reasons SDVpetcatsad

craggy cape
hard fern
#

sigh i forgot what all the funny things in character data do

shut mountain
craggy cape
#

i should probably fix this while im on a mod spree..

ornate trellis
#

sounds like a plan

shut mountain
#

Um. Yeah, probably.

hard fern
#

nice

craggy cape
#

moment of truth yall

#

..didnt work

hard fern
#

shout out to when the mod don't work

craggy cape
#

oh the image size didnt match

#

wuh

#

"Can't apply image patch "Pink Moss and Seed > EditImage Tilesheets/Objects_2" to Tilesheets/Objects_2: source image size (Width:28, Height:15) doesn't match ToArea size (Width:32, Height:16)."

hard fern
#

ah

#

yeah

#

did you crop your source image by mistake

craggy cape
#

maybe

#

i'll just resize it probably

hard fern
#

make sure it's the same size as what you're editing, in this case 32x16

craggy cape
#

ok for some reason it just keeps reverrting backl to 28, 15 what

tidal stone
# lucid iron What do you mean by different colors

sorry chu just checked in on this ☠️ got distracted
i have 10 different files for optional files for a meteorite retexture in different colors :3 do i need a different manifest for each file or am i fine to just have the same in all

craggy cape
#

it was 32,16 when i replaced the file but as soon as smapi loaded its 28,15

#

"[Content Patcher] Can't apply image patch "Pink Moss and Seed > EditImage Tilesheets/Objects_2" to Tilesheets/Objects_2: the FromFile file 'assets\mossandseed.png' doesn't exist.
" WHAT DO YOU MEAAAAAn

hard fern
#

you sure you're replacing the right file

craggy cape
#

when i cleared my downloads it deleted the file i placed IN the cp file..

#

oh well, time to try again

#

btw the cp file is placed in my retextures folder

#

least this gives me a chance to backtrack tho lol

#

okay no errors this time

tame orbit
#

hey friends!
I'm starting a mod that will be using C# dll and also the content patcher
would I include both in the same manifest file?
or do I need 2 manifest files in the mod folder?

uncut viper
#

they must be two separate mods

#

but they can both share the same parent folder, as slong as they are in their own folders

#

so 2 manifests, 2 different unique IDs, two folders

hard fern
#

you cant have two in the same folder, but you can have both a CP mod and C# mod like button said

tawny ore
#

C# Mods have the ability to deploy both your C# mod and bundled content packs together. It's even easier if you use Khloe's mod manifest builder as it'll keep those updated as well.

#

It'll deploy them as a parent folder, with a subfolder for each bundled mod and dll

craggy cape
#

yall arent gonna believe this//

tame orbit
#

ooo okay that makes sense, thank you so much guys! SDVemoteheart

tidal stone
#

aww i love it dottie!

craggy cape
#

okay time to convert a .png mod to CP

#

though it does say this

#

"must be in all 3 places"

#

the png is a full spritesheet so it wont be difficult i think..

#

could i use the load action for this??

hard fern
craggy cape
#

its just the basegame fosh

#

fish*

hard fern
#

yeah so load would work

craggy cape
#

aight

#

and stupidly should i add the other two files as well

#

lemme test without em actually

hard fern
#

well, "aquariumfish" is the fish tank sprites. even if you dont change the item sprite once you put a fish in a tank it will look like whatever the fish tank sprite looks like

craggy cape
#

ooh

#

makes sense

hard fern
#

i know all of this because i too, used a mod to change the fish

craggy cape
#

so the content will just be
{ "Format": "2.5.0", "Changes": [ { "Action": "Load", "Target": "LooseSprites/AquariumFish", "FromFile": "assets/AquariumFish.png" } ] }

hard fern
#

pretty much

craggy cape
#

but 2 more times for the springobjects and other file

hard fern
#

e

#

do you really want to load springobjects

craggy cape
#

meh

#

it mentions it

#

whichever file has it so it appears in inventory and while holding

#

is what id prefer to load

hard fern
#

err how do i explain

#

it will likely overwrite recolors

#

because you are loading the whole thing

craggy cape
#

ah

craggy cape
hard fern
#

springobjects

craggy cape
#

oh

hard fern
#

it's why i said unless you want to replace the entire file, to use editimage

craggy cape
#

ahh okay

#

aqaurium i can use load, everything else i should use edit .ᐣ

uncut viper
#

if you are replacing everything, literally every pixel on an image, load can be fine

hard fern
#

it should be fine, since i doubt you'll have other mods editing the aquarium fish

uncut viper
#

if there is some stuff you do not want to replace or arent replacing, then use EditImage

craggy cape
#

i just dont wanna overwrite my recolor mods

#

i can delete dshi fish tho, i just wanna keep my ui and town colors n such

craggy cape
ornate trellis
craggy cape
#

ight

#

gonna download that rn

ornate trellis
#

its what we use for map making

craggy cape
#

and ofc use it to find the x,y stuff on sprites

hard fern
#

er

#

actually

craggy cape
#

oof wait i realized its not the smartest with indivisual tiles.. by that i mean its like a 2x2 so it selects two images

hard fern
#

i was about to say

#

aquariumfish is weird

craggy cape
#

i really dont wanna risk overwriting my recolor mods so 😭😭

ornate trellis
#

luckily those are just the fish objects

craggy cape
#

꒰ but i have no recolors that effect fish ꒱

craggy cape
hard fern
#

wait

#

did you set the tile width and height to the correct size

craggy cape
#

no LOL its 32x32

#

lemme fix that

#

there we go

#

anyways so

#

i just copy this however many times i need to with the corresponding tiles, correct?

ornate trellis
#

you can do it in blocks, all fish next to each other can go in one block and you just change the width accordingly

craggy cape
#

ooh how do i do that

#

i ended up doing it indivsually lmao

ornate trellis
#

like you did with the moss

craggy cape
#

ohhh

brittle nest
#

Hello, i am wanting yo create mods but have no idea how to get started

lucid iron
#

what kind of mod do you want to make?

ornate trellis
#

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

craggy cape
#

so if i did the first row first group it would be
"ToArea": { "X": 128, "Y": 80, "Width": 32, "Height": 16 } ?

ornate trellis
#

no

craggy cape
#

o

ornate trellis
#

theres 5 fish in the first block

craggy cape
#

did i atleast get the width/height right 😭

#

wait would it be 48 instead of 32

ornate trellis
#

i showed you in the screenie a bit ago where to look for x and y i cant say if you did those right or not since i dont have that file lol

#

5 times 16 you gotta do

craggy cape
#

ahh

#

so 80x16?

ornate trellis
#

one tile is 16 so its 5 fish aka 5 times

#

80 width and 16 height

craggy cape
#

alright yea

#

so it would be
"ToArea": { "X": 128, "Y": 80, "Width": 80, "Height": 16 }

brittle nest
craggy cape
#

the first fish is 128, 80

ornate trellis
#

then yea

craggy cape
#

ight

lucid iron
#

take a look at some existing fashion sense hair mods then, the format is all pretty set in stone

#

!json you want to get a proper json editor to deal with the json files, even though they are just plain text

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.

tidal stone
#

is my updatye key the nuumbers on my uploading mod url or where do i find that again

#

ive never used it before 😓 i wanna start doing things correctly lol

lucid iron
#

nexus:yourmodid

brittle nest
#

Okay, ill check and see if I get it

lucid iron
#

e.g. nexus:31832

tidal stone
#

im sorry its not clicking does that mean its nexus:(myname).(modname)

uncut viper
#

not your unique id, no

#

just the ID of your mod

tidal stone
#

ah

lucid iron
#

this id is the nexus url numbers

uncut viper
#

when you go to upload a mod and go to the 2nd step the url gets your ID put in it

tidal stone
#

OH

#

so it would be this ?

lucid iron
#

yep

uncut viper
#

yes

tidal stone
#

ok ty ty

deep cypress
#

I remember the good old days of getting that ID number as nearly the first thing, because you needed it for event ID. Ah how I love that events are now a string!

hard fern
#

SDVpufferflat i feel like im making an even more complicated relationship chart by having to put these into "friends and family"

craggy cape
#

i think? i did this correctly once more. time to see if my goldfish shall appear

#

i forgot to put the file in my retextures folder lmao

#

okay NOW lets see if i did this right

marble nova
#

In the relationship tag thing on NPCs btw, does it just print whatever you type there in the text (like how Abigail says "my mom" in reference to Caroline), or are there only a few specific markers they accept? Would they accept "my sister" or some stupid nickname?

In this part:

 "FriendsAndFamily": {
      "Caroline": "[LocalizedText Strings\\Characters:Relative_Mom]",
      "Pierre": "[LocalizedText Strings\\Characters:Relative_Dad]"
dusk mulch
#

Bugger it, I will use separate images, sprite sheets can go... I can't say what I would've said or else I would be banned so...

tidal stone
#

i wanna insert images into my mod desc can i use imgur for that or is thee another preferred site

dusk mulch
tidal stone
hot gale
#

Is your mod code hosted on github?

tidal stone
#

no

#

if you mnean me

craggy cape
#

damn the sprites arent loading

#

nor is it appearing in my mods list.. hmm

tidal stone
#

😭 it says the url link isnt valid what

craggy cape
#

oh this time it did

#

was it bc i forgot the manfiest first go around

#

lmfao

#

oh

#

cant parse my content

hard fern
#

rip

tidal stone
#

~~fixed it ~~

craggy cape
uncut viper
#

!log

ocean sailBOT
#

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

Please share your SMAPI log file. To do so:

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

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

uncut viper
#

upload logs here and send the link

#

but your configschema is messed up

craggy cape
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 107 C# mods and 358 content packs.

craggy cape
#

but also i think its partially bc of this.. mess

#

12 lines are just ]

uncut viper
#

in the future please use smapi.io for both jsons and logs
but yes every of your patches should go inside a single "Changes" list

#

you should not copy the entire json over and over again

craggy cape
#

i did not realize the smapi log parser could parse jsons oops

uncut viper
#

not the log parser. the json validator

craggy cape
#

closeenough

uncut viper
#

theres a link on the left side

#

(not close enough bc you do not want to upload json into the log parser)

brave fable
craggy cape
#

says no errors ironically

#

oh wait

#

hold on

hard fern
#

basically it's just fucked

craggy cape
#

damn

uncut viper
#

i would say at a rough estimate maybe 90% of this is incorrect

#

okay so

#

you have patches right, the "Action": "EditImage" stuff

#

each of those is contained inside their own { } pair

#

its jusst those parts that you copy over and over

#

but they all go inside the first "Changes"

craggy cape
#

ooh

uncut viper
#
{
  "Format": "2.5.0",
  "Changes": [
    {
      "Action": "EditImage",
      bla bla
    },
    {
      "Action": "EditImage",
      bla bla..
    }
  ]
}
dusk mulch
dreamy cedar
#

I've got an event that calls 'addCraftingRecipe' -- is there a way to call that so that it adds the crafting recipe for all farmhands as well?

calm nebula
#

Use a trigger action, I think

#

It's the closest you can do

uncut viper
#

a trigger action will still only run on the client that fires it

calm nebula
#

Check for anyone seeing that event

#

Then give reciepe

dreamy cedar
#

Would that work if the farmhand joins up after the event has fired?

uncut viper
#

if you can guarantee everyone sees the event then that works, otherwise you can set a mail flag on the host and have a conditional CP edit to add a trigger action if the host has that flag

#

the HasFlag token can check the host

dreamy cedar
#

I was thinking of having code in OnDayStart...

uncut viper
#

it can also check Any

calm nebula
#

(HasSeenEvent doesn't do anyplayer?)

uncut viper
#

shrugs

calm nebula
#

Or the eq in gsq?

uncut viper
#

it might

lucid iron
#

If you are in C# just do it?

uncut viper
#

clarification on whether you're using CP or not would be helpful

#

i also dont know if this is a broadcasted event or one meant for people to view on their own when they get to it

lucid iron
#

You can do a check on peer connected to see if anyone's seen a event and add the recipe

brave fable
#

but that would mean, unless you also have a way to deliver it while playing, that farmhands would need to reconnect to get the recipe

lucid iron
#

Do it on DayEnding too then Dokkan

calm nebula
#

If you're in c# just define your own event commmand

dreamy cedar
#

k, I thought perhaps I was missing an EZ-button somewhere. Looks like not.

calm nebula
#

And use multiplayer message

uncut viper
#

multiplayer message is what i was gonna suggest before i thought you might mean in CP

#

its easy

craggy cape
#

random thought, is it possible to change a mods dependency if the original is obsolete .ᐣ

i.e lets say i wanted to have eemies bees, but i want it to use custom companions than custom critters.

#

although does critters work still

uncut viper
#

not unless the alternative is completely slot-in compatible

craggy cape
#

i dont know

#

ah

uncut viper
#

which it almost certainly isnt

craggy cape
#

so youd have to recode the entire thing basically

uncut viper
#

yes

craggy cape
#

ouch

craggy cape
crude plank
#

i can sense a pathos wave coming

craggy cape
#

objects was spelled obejects

hot gale
#

my man obe

ornate trellis
#

the wave has been announced so we gotta brace ourselfs

#

not me in here spacing out for 2 hours instead of working on my mod

crude plank
#

i missed the announcement lol

craggy cape
#

from the toArea size

ornate trellis
#

what exact error

craggy cape
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 107 C# mods and 359 content packs.

ornate trellis
#

ah right

#

you probably left it as one sheet

craggy cape
#

gwauh

uncut viper
#

if the fromfile is not cropped to exactly the area you want, then you need to specify a FromArea as well as a ToArea

hard fern
#

was about to say exactly that

uncut viper
#

without a FromArea, its trying to copy the entire .png, but into the tiny ToArea you specified

craggy cape
#

ah

ornate trellis
#

yea

#

im personally lazy so id just crop the images, rename them and change the fromfiles

#

but you do what you prefer

craggy cape
#

fair point

hard fern
#

im lazy in a different way so i cant be bothered to crop XD

deep cypress
#

Ok so VS Code is so much nicer for the Json files! How does one make it stop yelling at me about comments? Like //RandomCommentwhich CP ignores

fading walrus
#

set your json thingy to jsonc

hard fern
#

i just stuck the content patcher schema at the top

craggy cape
#

the question is am i bothered to crop 16 images

fading walrus
#

or the content patcher schema, yeah

deep cypress
#

Like it says comments are not allowed in JSON, but CP pulls a Mermaid Hair Don't Care!!!

hard fern
deep cypress
#

Thanks!

ornate trellis
hard fern
#

botton

craggy cape
#

hm, what would the fromarea look like

ornate trellis
#

SHH+

uncut viper
#

if your images are the exact same as the ones you're editing then you can just copy the ToArea but rename it FromArea

ornate trellis
#

you know i suck at typing ok

craggy cape
#

ahh

hard fern
#

XD

uncut viper
#

you're telling it which rectangle to cut out of your fromfile and paste on top of the target

#

so if your fromfile is the same size as the target and things are laid out in the same places as the target

#

then the rectangles will be the same

craggy cape
#

so like
{
"Action": "EditImage",
"Target": "Maps/springobjects",
"FromFile": "assets/springobjects.png",
"FromArea": {
"X": 128,
"Y": 80,
"Width": 80,
"Height": 16
},
"ToArea": {
"X": 128,
"Y": 80,
"Width": 80,
"Height": 16
}

#

oops

hard fern
#

you need a from area too

uncut viper
#

you're missing a }

craggy cape
#

ops

uncut viper
#

you need a } after the end of the FromArea

#

just like you do with the ToArea

craggy cape
#

so like that correct?

uncut viper
#

and do not forget the comma

craggy cape
#

alr time to boot up again

#

didnt work, i might have to crop then

#

well, okay the numbers are closer though

uncut viper
#

please use the log uploader

craggy cape
#

fsdjfh sorry

uncut viper
#

are you 100% sure the fromfile images are exactly the same as the originals, just coloured over top with your edits?

#

also wait, did you just copy the same FromArea for every patch?

sour sleet
#

Ok so I'm adding a new wild tree and I've made my entry into Data/WildTrees. Only thing is, I can't figure out how to add a custom seed to be available for my tree.

brittle pasture
#

you did set SeedItemId?

#

and added an item with that ID to Data/Objects

sour sleet
#

Yep I did

craggy cape
#

OH i did

sour sleet
#

Ohhh

craggy cape
#

yea lemme change the from area numbers OOPS

sour sleet
#

I didn't know it needed to be added to Objects

#

I was wondering where to put it lol

brittle pasture
#

seeds are items so you have to add them somewhere. most of the time (for items in general) it's Data/Objects

sour sleet
#

Thanks Selph!

dusk mulch
#

YESSS THE MINIGAME IS ALMOST DONE

#

wait...\

#

NOOOO I JUST REMEMBERED I NEED TO REDO THE SPRITES

dusk mulch
#

omg yes i got the mail side of the letters set up

#

now i need the spam

sour sleet
#

If I want an item to not be able to be sold, do I just exclude the Price field?

uncut viper
#

sold from a shop or sold by a player?

sour sleet
#

sold by a player

uncut viper
#

is your goal to make them unable to lose it, or do you just not want them to get any money?

tiny zealot
#

i think you have to avoid the categories/context tags that cause it to be salable/shippable

uncut viper
#

its Type you'd remove

#

but you can also set it to not be able to be trashed

sour sleet
#

I want it to behave like the other wild tree seeds so basically I want it to sell for nothing

uncut viper
#

but for selling to a store i believe thats a per-store thing

sour sleet
#

Like when you have one in your inventory and ship it

#

Would it just be Price 0?

uncut viper
#

i thought you did get money for selling them?

#

not a lot but some

#

acorns have a price of 20

hot gale
#

Make it a tool?

#

idk lol

uncut viper
#

do not make it a tool

sour sleet
#

Oh my bad - the maple seed sells for 5g

#

No way lol

tiny zealot
#

mixed seeds have price 0, so i expect that works for your purposes

uncut viper
#

a price of 0 would probably work if you just want to not get moeny but still be able to sell it

#

but if you want it to be like the other seeds they do have a price

sour sleet
#

Yep, I'll use Price 0 SDVpufferthumbsup

uncut viper
#

as an unrelated question, does anyone know if content loaded through the xTile LocalizedContentManager also goes through the AssetRequested pipeline?

#

Game1.game1.xTileContent vs just Game1.content

brave fable
#

i believe so, yes

uncut viper
#

wonderful, thank you. i had no idea it was a thing before now

brave fable
#

pretty much all maps and patches are loaded through that content manager, so they'd have to be

calm nebula
#

All game content managers are intercepted by smapi

wide lake
#

because I'm too lazy to go look it up if someone knows off the top of their head... What's the annotation to use to tell NewtonSoft that a field is transient (i.e., should not be [de]serialized in the JSON)?

uncut viper
#

can i make my own content manager

brave fable
#

congratulations! noone has asked that before SDVpufferthinkblob

uncut viper
uncut viper
#

havent actually looked to make sure it doesnt serialize, but id imagine not

brave fable
#

i mean why would anyone

old edge
#

is there a earthquake sound effect?

uncut viper
#

when internalassetkey just isnt good enough

#

when you really want to make sure no one touches your assets

brave fable
#

of course. of course you did

#

why wouldn't you

uncut viper
#

i cant help but notice you didnt get an answer, though

calm nebula
uncut viper
#

just a sidestep around the answer

tiny zealot
uncut viper
#

oh, you can pass in a root directory..

#

so.... could i make my own xnbs and load them through my own content manager

#

my own little smapi, all to myself

dusk mulch
#

why cant coding be like in the cartoons where you press 1 button and you just made a whole OS

hard fern
#

bc we live in the real world ✨

brave fable
#

well then i'd be out of a job. i'd have to become a cartoonist or something

rigid oriole
#

the problem solving part of coding is why it's fun imo

#

i mean banging my head against a wall for 5 hours due to off-by-one error isn't fun

#

but other than that

rigid oriole
dusk mulch
#

im going to cry i finally got the score displayed

rigid oriole
#

clint has these 2-space-wide animation frames. Can I use them in an event for animations or with showframe or am i cooked?

sour sleet
#

My custom tree seed isn't plantable in game, how can I make it plantable?

rigid oriole
#

i'm going to guess the game doesn't magiaclly know these frames are 2-wide

#

i betcha it's in Data/WildTrees or something

#

[[Modding:Wild_Trees]]

#

thanks farm computer

sour sleet
#

That's what I've edited and still nothing sadly

lucid iron
#

these r clint's schedule animation right think

rigid oriole
#

i guess i have the power of C#

hard fern
#

"SeedPlantable": true, ?

lucid iron
#

what if u make him a TAS would that work LilyDerp

calm nebula
sour sleet
calm nebula
#

You can do it by creating a double wide temporary actor

rigid oriole
#

register custom event command that's just "make clint hit anvil" or something?

calm nebula
#

But why

brittle pasture
rigid oriole
calm nebula
brittle pasture
#

and/or Type: Seeds

calm nebula
#

Width height frames

sour sleet
brittle pasture
#

idk which one actually activates that part

sour sleet
#

Well -74 certainly doesn't

calm nebula
rigid oriole
#

ohhhh i see

sour sleet
#

I have Type Basic rn, should I change to Seeds?

ornate trellis
#

did you put "tree_seed_item" context tag

brittle pasture
#

hmm just checked the source code, I don't think it matters, and Category should do it
but try it anyway. and if doesn't work post what you have

sour sleet
ornate trellis
#

your treeseed object

brittle pasture
#

yeah I dont see it in cornucopia's sapodilla seeds. maybe your tree code is missing stuff? I know SeedItemId has to be qualified (ie. has the (O) part) nope, just checked again lol

ornate trellis
#

it does? i dont have mine with (O) and they work thonking

sour sleet
#

Mine has (O)

ornate trellis
#

maybe posting the json would be a good idea tbh

lucid iron
#

if i have 2 mods that utilize the same shared project

#

is the class from that shared project considered the same class think

#

or would they be per assembly

brittle pasture
#

and your item code?

brave fable
#

i'd assume per-assembly, but i don't use shared projects

lucid iron
#

yea i brained about this a bit more and that seems correct blobcatgooglyblep

lucid iron
#

idk is it time for chucore...

#

the reason why i want this is bc i would like to reuse the extended temporary animated sprite model across multiple mods

rigid oriole
#

sometimese i think about barleycore but i think it's only happening if another thing i make needs these random features

#

otherwise it's just a useless dep for my mods that nobody else is using

lucid iron
#

yea idk

#

i think for now i'll just setup shared project but build it into other stuff

#

sad times

calm nebula
#

Say, when are you absorbing the rest of SMD's features, chue

#

So I don't have to release anything :p

odd ginkgo
#

hey all so I'm having trouble with my recipes... custom items at a custom shop with the currency being another custom item. I've seemingly got everything working, finally got the actual recipe to display and not the torch recipe - but when you buy the recipes, you don't learn then. As in, when you go to cook in the kitchen, the silhouettes are still blank

lucid iron
#

i mean if u want i can take custody of smd LilyDerp

#

ill put it into identifiable rings it make perfect sense trust

odd ginkgo
#

wracking my brain but can't tell what I'm missing

#

it's only the cooking recipes, there's also a crafting recipe and it works perfectly with the same format

ornate trellis
sour sleet
#

What do you mean?

ornate trellis
#

when you go ingame did you spawn in a new seed

sour sleet
#

Yep with CJB Spawner

ornate trellis
#

or did you use the same you had the whole time

#

hm

sour sleet
#

a new one

#

I'm stumped on this one

brittle pasture
#

yeah the code by all accounts look correct

brave fable
ornate trellis
#

yeah idk i can only compare to what i have since the trees i made work but idk

brittle pasture
#

uuh are you saving to the mod folder? idk lol

ornate trellis
#

my main difference is the context tag and having Basic as category

odd ginkgo
#

{
"Action": "EditData",
"Target": "Data/CookingRecipes",
"Entries": {
"CC_Remedytea": "CC_Rainpuff 5 815 5 245 1/999 999/CC_Remedytea/none/",
"CC_Tarotea": "CC_Rainpuff 5 830 1 245 1/999 999/CC_Tarotea/none/",
"CC_Gingertea": "CC_Rainpuff 5 829 1 245 1/999 999/CC_Gingertea/none/",
"CC_Cactustea": "CC_Rainpuff 5 90 1 245 1/999 999/CC_Cactustea/none/",
"CC_Ferntea": "CC_Rainpuff 5 259 1 MossySeed 1/999 999/CC_Ferntea/none/"
}
},
{
"Action": "EditData",
"Target": "Data/CraftingRecipes",
"Entries": {
"Hairpin": "CC_Tortoiseshell 1 881 10/999 999/CC_Hairpin/none/"
}
},

ornate trellis
#

my only other question is i swear people once said having {{ModID}}.NAME can cause issues but i might remember wrong

hard fern
#

it doesnt show in lookupanything

uncut viper
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.

ornate trellis
#

but this by now is jsut blindly pointing at things for me

uncut viper
#

(since the problem may also be in the shop entry itself)

sour sleet
ornate trellis
#

with ModID yeah but im not so sure bout the dot is what I mean

#

(somebody help i dont trust my own memories)

odd ginkgo
#

sorry, what would be the best way to share it? Should I upload the json or just post the code like I did before?

uncut viper
#

upload the json to the link indicated in the governor command

odd ginkgo
#

okay!

sour sleet
#

I've looked at these JSONs for too long now lmao

rigid oriole
#

does content patcher support a "load blank if not exists"? I swear there was talk of it at some point

uncut viper
#

no

#

you must load the blank manually

ornate trellis
#

maybe take a break and look at it again later? maybe some other people will be here in chat to help cuz idk anymore tbh and its like 2am here my brain isnt the best anymore lol

odd ginkgo
#

obviously this is not a complete json, it is just the relevant part with the objects, shop and recipes

rigid oriole
#

well hopefully nobody else wants an event in the blacksmith then

uncut viper
#

load it with low priority

rigid oriole
#

oh!

sour sleet
uncut viper
#

never load a blank with exclusive priority unless its for your own area you control

rigid oriole
#

thank

brittle pasture
#

(obviously not right now if you don't feel like it)

sour sleet
#

Aha, it doesn't seem to be in Data/WildTrees

#

So does that mean there's something wrong with my entry?

uncut viper
brittle pasture
#

maybe you forget to include the file?

odd ginkgo
#

amazing catch

sour sleet
#

Thank you (and FunTime if they're still here) for your help

odd ginkgo
#

that worked!!

#

Thank you Button

#

I can't believe it was the category

uncut viper
#

was -17 just a typo or did you think it would do something else

#

i dunno if anything else has it

#

just Truffle and Sweet Gem Berry, apparently... shrugs

deep cypress
#

Now that we can raise events in the shipping menu, what are y'all going to do?

fathom hound
#

what's the maximum value for buffs?

brave fable
#

well past about speed +10 you start flying uncontrollably through walls

#

how high can you count?

fathom hound
#

LOL

#

what do you think would be a number where it wont be like annoying to walk? +5?

#

(speed)

deep cypress
#

I use plus 3 usually.

#

+5 is usually a little dizzyning. Honestlt some days eve plus 2 is good enough.

brave fable
#

i'd say +5 represents how you'd feel after dropping 3 coffees and a (for legal reasons) unbranded energy drink

fathom hound
#

ok ill do +3 then thanks SDVpuffersquee

brave fable
#

i'm sure that with both +speed and caffeine, people have different tolerances depending on their daily intake

deep cypress
#

I suspect the top speed might be float.max...

#

I have rigged it to like +20. It's severely motionsickness inducing.

fathom hound
#

i bet SDVsobastian

drowsy pewter
#

+2 is already too much for me lmao

latent mauve
#

But it doesn't actually prevent it from working

lucid iron
#

i like how crops/grass goes bolbshook when you are zoom

vernal crest
#

+5 is my default walk speed in game

calm nebula
#

+5 is my default walk speed irl

vernal crest
#

It's mine irl too but other people experience it as -1 because my legs are so little

#

I'm out here jogging next to someone going for a stroll

tidal stone
#

mood

odd ginkgo
fierce vault
#

Hi, I was working on a very simple path mod, and I finally found a mod which does on a larger scale what I wanted to do, so after copying and making the changes to mimic it, I think my mod is finally formatted correctly and should account for everything the custom path needs to show up in game... except it isn't there. There are no errors in Smapi. The images needed are also in the right place. Here is the content json: https://smapi.io/json/content-patcher/4f7137a6d1684ce48f1e6fc929d39e42
Any idea why it's not showing up in the crafting menu on my test farm?

#

Oh wait... I just saw an error in the json validator. I'll change that and see if it works.

#

Well, I changed it, and the issue is still the same.

fathom hound
#

how do i get it to layer the right frame?

#

it's putting the chopped layer on top of the actual tree sprite layer SDVpetcatsad

hard fern
#

are you sure it's not intentional?

fathom hound
#

is there a workaround? :/

hard fern
#

well, if it's an intentional game mechanic i doubt there would be

#

save for just making the stump look the same as the one attached to the tree

fathom hound
hard fern
#

but also i know nothing about trees

brittle pasture
fathom hound
#

how can i add quotes in a description for i18n

brittle pasture
brittle pasture
fathom hound
#

thank you!

fierce vault
orchid glade
fathom hound
#

i was wrong, game was designed this way

#

im deleting it and just adding a tiny line lol

orchid glade
#

What I can't understand is why vanilla fruit trees don't seem to display that way