#making-mods-general

1 messages · Page 339 of 1

brave fable
#

yep, similar to having to sleep a day to run their first schedule, you need to sleep another to change their spawn location

idle lantern
#

I set his home location back to the custom one, and put Club in his schedule. He walked around the map, outside of boundaries, like a lost dog

#

I made a new save before trying that

brave fable
#

alternatively you can use what's called a 0-schedule to instantly set their location and tile for a schedule entry

#

unfortunately I've not worked with npcs enough to know the causes and solutions to voidwalking

#

could you send the full schedule entry here?

idle lantern
#

Sure. Let me save what I have really quickly. I appreciate the help!

#

{
"Changes":
[
{
"LogName": "Rahiel Schedule",
"Action": "EditData",
"Target": "Characters/schedules/{{ModId}}_Rahiel",
"Entries":
{
"spring": "610 {{ModId}}_RahielLamp 12 20 2/2100 bed"
}
}
]
}

#

it's very very simple right now, to try and get it to work

#

he spawns at 53 8. I thought he'd use the warp within the map. He just cuts through the scenery

#

sorry, I was fixing one of the maps

#

bah. he stopped following the schedule again

brave fable
#

you've tested your warp works correctly? you may need to sleep another day (the classic troubleshooting manoeuvre)

idle lantern
#

Yes

#

I've been remaking new saves each time. Let me try sleeping

#

I retyped my warps, just in case

#

maybe his room needs to be a separate map, instead of map of the Lamp map, but far away

urban patrol
#

sorry, i’m at a party tonight! if you haven’t solved it by tomorrow i can take a look?

idle lantern
#

I'd love it! Have fun at your party 😄

brave fable
#

i take it sleeping didn't work 🛌

idle lantern
#

no

#

I've separated the room into a new map altogether. Going to see what happens now

#

SUCCESS

languid matrix
#

How do I make a custom bait item?

#

Or is that hardcoded?

brave fable
#

the simple answer is to add an object with the same properties as item 685 (Bait, being "Type": "Basic" and "Category": -21 ) to give it all the basic functionality of bait

languid matrix
brave fable
#

fishable as in you can catch it, or you can attach it to a rod?

languid matrix
brave fable
#

anyway, as for unique behaviours for your custom bait, you'll likely need to use C# to apply a Harmony patch to GameLocation.GetFishFromLocationData

languid matrix
brave fable
#

you should be able to catch your bait while a new {} data entry to Data/Locations:Fish[] as well, which is shrimple enough

#

it's not as hard as it seems! but there is a knowledge and setup hurdle to get over before you can actually do the task

languid matrix
brave fable
#

ah, hm

#

i think in that case you'll want to add a new entry to Data/Fish with the same general format and values as other crabpot fish, e.g. "717": "Crab/trap/.1/684 .45/ocean/1/20/false"
the values are explained here:
https://stardewvalleywiki.com/Modding:Fish_data

languid matrix
#

And how do I allow it to be put in fish ponds so that there is an infinite source of them?

brave fable
languid matrix
brave fable
#

i suppose you could set "SpawnTime": 1 to have one spawn each day, and use "PopulationGates": null to remove any item requests?

#

i don't know whether there's existing behaviour for infinite fish, you'd likely want to make an object similar to the Worm Bin for that if a fishpond isn't productive enough

languid matrix
brave fable
#

sure, i don't see why not - the "ProducedItems": [] field in Data/FishPondData just takes a generic item spawn query, so you could simply format it to make more fish. smart!

tender bloom
#

I think it’s a bug in archery framework because those few frames specifically need special handling, but I could be wrong.

languid matrix
#

Unrelated, but would it be possible to replace all newly-caught fish with a different fish when a certain quest is active?

#

I'm thinking of some sort of Qi Fish when the Qi Fruit quest is active as a (somewhat cruel) joke.

brave fable
#

perhaps an entry added to a location's Fish: [] data in Data/Locations with "Chance": 1 and some "Condition" game state query for a given special order/rule?

#

there's no default query for quests, but special orders would work fine

languid matrix
stoic prism
#

is there a way to add new emotes to the game??? i rlly want to add a smoking emote 🤔 i was thinking of using sebastians animation ....but i have no clue how itll affect the clothes the user is wearing

#

i tried finding similar mods online to see how itll work but i only found retextures of the emote bubble

twin wadi
#

i havent made any custom emotes before so im not sure how it works but maybe you could use this framework

idle lantern
#

I had a working event. And after getting the schedule and maps to work - the event has stopped working.

faint ingot
# stoic prism is there a way to add new emotes to the game??? i rlly want to add a smoking emo...

I'm implementing something like that where I replace one of the existing emotes under certain conditions, like this: { //replace heart emote at the farm (random option 3) "Action": "EditImage", "Target": "TileSheets/emotes", "FromFile": "assets/Textures/tilesheet_emotereplace.png", "FromArea": { "X": 0, "Y": 32, "Width": 64, "Height": 16 }, "ToArea": { "X": 0, "Y": 80, "Width": 64, "Height": 16 }, "When": { "Roommate": "{{Ripley}}", "HasFile:{{FromFile}}": true, "LocationName |contains=farm, farmhouse":true, "Random: {{Range:1, 10}}": "{{Range:1, 4}}" }, "Update": "OnLocationChange", },

#

So I would maybe start by looking at Tilesheets/emotes in the game files and seeing if that's the kind of thing you want to change and if there's a safe one for you to replace under the conditions you need

brave fable
raven salmon
#

anyone know how to fix? Seasonal version is working.... SDVpufferwaaah

idle lantern
#

what type of file is that?

#

It's coming up nothing when I download it

raven salmon
#

supposed to be an img, idk what is happening

uncut viper
#

did you rename the images in discord and remove the extension when doing so

raven salmon
idle lantern
#

I added 'png' to the end and got it to work

idle lantern
#

You mispelled 'variation' in your code

raven salmon
#

omg thank you

idle lantern
#

I hope that does it

brave fable
#

oh dear

idle lantern
#

https://smapi.io/json/content-patcher/996e8f0757aa40669242e3d36a504811

I can't get this to work, for the life of me. I had the { Action etc } on an events.json, then I put it straight on content.json just in case (without the extra format and changes line). I also tried changing the entry id to a string of numbers

the event isn't loading. I don't know why

stoic prism
brave fable
#

to my knowledge, noone's actually done it yet hahah

stoic prism
#

damn

#

💔

#

i will NOT be the first

brave fable
idle lantern
#

I wonder what I removed from the script on accident. I had something that redirected to a blank json, and it was working.

brave fable
#

you'll want another Changes entry to Action: Load some Target: Data/Events/Club asset with a FromFile: assets/blank.json file you create yourself before you edit it

#

possibly you left it in your events file or lost it in the transfer?

idle lantern
#

I must have deleted it while rewriting something. Let me try and get that working again. ty!

dreamy cedar
#

Anybody know if there's another version of the Character.doEmote method that causes the emote to show up for all players? That is, if you have code like abby.doEmote(Character.angryEmote); then the emote will only be visible for the current player - other players won't see the emote go off. I know how to work around this with mod-messaging, but perhaps this is a solved problem and I just don't know what the right call is...

idle lantern
#

found it. I had an old version still in my recycle bin
{
"Action": "Load",
"Target": "data/events/club",
"FromFile": "assets/events/club.json"
},

#

the only difference between that and what I wrote back up is the capitalization

twin wadi
#

trying to decompile stardew valley, and when i try to open avalonia ilspy on mac, mac trashes it automatically saying it's damaged and potentially corrupted. i also noticed that the last update was 3 years ago in the github

idle lantern
#

good night. good luck with your projects

faint ingot
#

I'm looking at the tokens and conditions guide for CP and I don't see a way to check a farmer stat in a CP WHEN clause. Is that possible?

balmy venture
#

Omg I feel such an idiotic newbie seeing both blueberry and nerm talking

faint ingot
#

I want to use an editmap command based on a custom farmerstat

brave fable
#

it's ok, i'm an idiot too SDVdemetriums

balmy venture
#

No you guys are awesome lol, i was about to ask something about modding but gave up 🤣

faint ingot
#

OK so I take it it's not natively available in CP, in that case I'll just add some mail flags for the stats I need. Thanks.

brave fable
#

feel free to ask if you need something! there's usually someone around with answers

balmy venture
#

It's something very dumb, I wanted to check a mod dll to learn from some specific mods but I have no idea if there's a way to open one

#

Or if the point of dll is to close the code

brave fable
#

DLL files are compiled C# source files, they're not readable by you or me. if you visit the mod page though you'll often find a link to the source code online on github or gitlab or somewhere similar

balmy venture
#

Oh, I see!

#

I will check if the mod is open, it might be cause there's an unofficial update

brave fable
#

there's a list of all C# mods here: https://smapi.io/mods/
if you select show advanced info and options it'll expand to show links to the source code

balmy venture
#

Thank you!

#

I know one of them doesn't have open code but the owner replied to me it was okay to work on alternative sprites for their mod, they might help me then

brave fable
#

for sure, the owner's going to be the #1 source of useful info for editing their mod SDVpufferthumbsup otherwise if you need a hand you can link the mod here and explain what you're up to

lucid iron
#

Idk i trust blueberry to do anything to me mods

balmy venture
#

I want to work on sprites for Stardio

#

Basically, I've been using it in tandem with the amazing Junimatic

#

So I wanted to try my hand on making cutesy sprites for stardio so the 2 mods look cute together

#

But I'm a bit lost on how to start setting up the sprites for them 😅

lucid iron
#

Im surprised neither things catastrophically explode each other lol

balmy venture
#

Nope

#

They work amazingly together so far

#

I use stardio to move items from one chest to another and junimatic for the automatization

lucid iron
#

@worldly sundial hello sorry for ping can we ask how to retexture conveyor belt

balmy venture
#

I wanted to try to convert the belt animations into junimos carrying stuff, not sure if it's even possible

lucid iron
#

Specifically did you load it to the content pipeline so that cp mods can editimage you

balmy venture
#

Did what? Sorry I'm that newbie

lucid iron
#

(that was towards stardio)

balmy venture
#

Oh

lucid iron
balmy venture
#

Ya I tried to check how nerm did with his own animation but when I looked at the code it was as if I was reading greek 🤣

lucid iron
#

Replacing it with mini junimos might work out but yeah u r at mercy of how stardio setup the textures

#

No one else besides author can help u here

#

Worst case u can at least just make a png replacer

balmy venture
#

Ya I figured I'd check nerm first to see how they did it but hit a wall

#

That's what I planed, the pngs from stardio look simple but they dont cover the animations from what I can tell

lucid iron
#

I think it is just animated in c#

#

If u recolor the whole thing it'll probably work just fine

balmy venture
#

Ya that's why I can't understand it I'm sure

brave fable
#

i can't imagine it'd be easy to get a convincing effect; a conveyor animation is likely just a 2-frame png sequence, but a polished looking junimo anim would take something a little more bespoke

lucid iron
#

But yeah i say just do something simple like make the belt look more green

balmy venture
#

Last case scenario I will think of something simpler

#

At least the chests are easy

lucid iron
#

Anything more elaborate is gonna be send PR to stardio for anim so...

balmy venture
#

Guess my noobness made me imagine more than what I could take xD

#

Thanks guys, I will figure something out to cute it up

ivory plume
rigid oriole
#

👀

#

Do we know anything about whether fish are staying slash-delimited or not?

ivory plume
#

No guarantees yet, but I do hope to convert more slash-delimited strings to data assets in 1.6.16 or later versions.

rigid oriole
#

excited for data model boots and anything else that may come then!

raven salmon
#

It's not changing automatically ;-;

woeful lintel
#

what about Furniture SDVpufferfear

ivory plume
#

Furniture will most likely be data-asset-ified in 1.6.16 too. (Previous Content Patcher packs will still work, since Content Patcher will have a compatibility migration.)

woeful lintel
#

damn, more FF work then...

#

What's the best way to check for the game version in a C# mod?

rigid oriole
#

game1.version

ivory plume
#

(See also Game1.versionBuildNumber or Game1.GetVersionString(), depending on the version format you want.)

rigid oriole
#

I mean u have to start supporting the new version but... if it does some stuff that you were planning you save work!

brittle pasture
#

tbh I wouldn't bother with cross version compat

#

just tell people to stay on the old version if they are on 1.6.15

#

also woo, I can move furniture machine away from saving furniture non-machine data in Data/Machines because that's the only vanilla alternative lmao

woeful lintel
woeful lintel
#

removing things that FF does because vanilla can do it isn't what I'd call "saving work"

rigid oriole
#

I mean obviously it'd require changes lol

woeful lintel
#

Anyway, please do not let anything I'm saying influence a potential change to Furniture: data assets are always better than delimited string

blissful panther
#

Yeah, I would definitely not bother keeping a 1.6.15 version up to date. I'd probably keep the latest 1.6.15 version available in the optional files section, but that's about it.

inland cedar
#

anyone know which file has the fire sprite?

brittle pasture
#

cursors

drowsy minnow
#

i literally habr to redo an entire sprite i somehow merged my d8 layer with my d10 layer while the d10 was invisible and didnt realize until it was far beyond the undo limit so i unintentionally deleted the d10 sprite SDVpuffercry

#

my sweet baby

#

it was my fav too

brave fable
#

every opportunity to redraw is an opportunity to improve ✨

drowsy minnow
woeful lintel
#

are you... taking pictures of your screen with your phone?

drowsy minnow
#

yea

woeful lintel
#

do you know that you can use discord on your computer?

#

(and it's leagues better than the mobile app btw)

drowsy minnow
#

yes i do but its a mild hassle as my laptop runs slow at times SDVpuffercry

#

i can transfer the photo to my phone fairly quick tho

brave fable
#

you can use it in your browser from the website if you like, a little more lightweight

woeful lintel
#

I don't think using Opera is very good if your laptop is slow, there are much lighter browser available if you're concerned with saving ressources

drowsy minnow
#

wait fr-? my friend recommended i use operaSDVpufferblush

woeful lintel
#

well, I don't think it's bad, but there are much lighter options

drowsy minnow
#

originally i defaulted to google chrome but my laptop ran lile hell so my friend told me to switch to opera

woeful lintel
#

also there is the Vesktop client for Discord, which is much lighter than the official one

#

Opera is still chromium though

brave fable
#

(personally i use firefox, with ublock origin and a script blocker it cleans up a lot of performance waste online, but i can't speak for overall performance since my pc is capable enough)

drowsy minnow
#

ill keep this in mind thank u SDVpufferheart

woeful lintel
#

I'll always recommend firefox over any chromium based browser. After that, the choice depends on your convenience. Even firefox can be a bit heavy, there are vrey lightweight forks out there that trade functionality for speed

brave fable
#

all i can say for it is that it's very memory efficient with a truly obnoxious amount of tabs and windows, which i remember chrome scales very, very badly at

drowsy minnow
#

there, a more clear look at it ૮₍ ´ ꒳ `₎ა

mortal goblet
#

hello everyone, how can i make a machine that only work in a specific location like desert?SDVpufferheart

royal stump
#

the bee house's machine data (BC)10 is probably the closest vanilla example, it uses "Condition": "!LOCATION_SEASON Target Winter"

ornate trellis
#

am I imagining things? I thought there was a mass animation thingie for tiled somewhere...

vernal crest
#

@ornate trellis There is. Second one here.

languid matrix
#

I also added the ElephantNoseFish, which is caught exclusively on Ginger Island.

ornate trellis
#

thanks, Aba!

#

damn, this isnt working how i want it to. doesnt seem to be able to do a bounce back version of the animation, hm

vernal crest
#

Bounce back?

ornate trellis
#

water animation. the frames basically go 0 1 2 3 2 1

#

but i can just do 0 1 2 3

vernal crest
#

Hm yeah it looks like you'd have to do it manually for that

#

Although you could use the bulk tool for the first 0 1 2 3 and then just add the 2 1 manually

ornate trellis
#

well i guess its still the work being cut in half at least

orchid glade
#

Hey guys, does anyone know how to null an entry in Appearance in Data/Characters?

#

This is what I tried, but it was clearly wrong (EDIT: it was actually right): ``` {
"LogName": "Alex Appearance Data",
"Action": "EditData",
"Target": "Data/Characters",
"TargetField": [
"Alex",
"Appearance"
],
"Entries": {

            "Winter": null,```
#

(then the rest of the editdata with adding new entries follows)

#

Winter is the log name of the entry.

vernal crest
#

You don't want him to have a winter outfit?

orchid glade
#

We want him to have an indoor and an outdoor winter outfit which we have loaded separately.

#

But the vanilla one is showing instead.

#

Alternatively, I guess we could use the vanilla winter entry for indoor, and edit it to "outdoor": false ?

vernal crest
#

You can null every field within the object or you can just set the entirety of Appearance to null. Or yes, you can edit that one (including its Id, I think, to make its ID consistent with the rest of your ID naming scheme) to make it one of your entries instead.

orchid glade
#

So how do I target that object?

ornate trellis
#

oof i am messing up ma animation, i might jsut redo the sheet with all needed ones even if theyre doubled

vernal crest
#

Actually, I think I tried the approach of nulling every field and it didn't like that (different asset but still list of objects). It might be enough to null just the ID though.

orchid glade
#

I'd be happy to null Appearance, but I assume beach is on there too

vernal crest
#

Edit to save others from copying this incorrect stuff in future (correct one is this #making-mods-general message):

To null the ID it might be this:

 { // THIS IS WRONG, DON'T USE IT
            "LogName": "Alex Appearance Data",
            "Action": "EditData",
            "Target": "Data/Characters",
            "TargetField": [
                "Alex",
                "Appearance"
            ],
            "Entries": {
                "Winter": {
                    "Id": null // NO, WRONG, DON'T DO IT
                }
            }
}

Or it might be this:

 { // THIS IS WRONG, DON'T USE IT
            "LogName": "Alex Appearance Data",
            "Action": "EditData",
            "Target": "Data/Characters",
            "TargetField": [
                "Alex",
                "Appearance",
                "Winter"
            ],
            "Entries": {
                "Id": null // NO, WRONG, DON'T DO IT
            }
}

(Sorry I can't say with certainty - I don't know the underlying logic about how this stuff works so I usually do trial and error.)

vernal crest
orchid glade
#

Oh beach is not an appearance

#

Yeah I just checked lol.

vernal crest
#

Yeah it predates the Appearance system and is hardcoded

orchid glade
#

Work outfit is though for other NPCs

vernal crest
#

Nulling the entire Appearance field is quite a nuclear option so if you can avoid it I'd recommend doing so

orchid glade
#

Yeah.

#

So if I null the id, does that remove the whole object?

vernal crest
#

I think the best approach is just to edit the existing Winter one into your desired form, but I can also see an argument for just yeeting it and adding all the outfits in exactly the same way to avoid confusion.

orchid glade
#

Ok that first option didn't do it, trying second one now...

vernal crest
orchid glade
#

Hmm

vernal crest
#

Are you doing a patch export to check?

orchid glade
#

Ahh I was but I didn't that time because he was wearing the vanilla outfit lol

vernal crest
#

It might be worth doing it anyway because then you can see what, if anything, actually happened to the json.

#

If one of the C# people was here they could just tell us lol

orchid glade
#

As far as I can tell nothing happened to the json at all argh, I'll check log

vernal crest
#

If it's not doing anything, including throwing an error, that's a sign your patch just might not be applying. I definitely got errors when I tried setting some fields to null (because I was attempting to yeet the entire object and it was not working, so I was just setting non-optional fields to null instead).

orchid glade
#

Yeah it seems to be not applying. Hmmm, it was for the other seasons.

#

I'll put the code up on smapi

royal stump
#

with this as my full CP file, anyway

{
    "Format": "2.7.0",
    "Changes": [
        {
            "LogName": "Alex Appearance Data",
            "Action": "EditData",
            "Target": "Data/Characters",
            "TargetField": [
                "Alex",
                "Appearance"
            ],
            "Entries": {
                "Winter": null,
            }
        }
    ]
}```
orchid glade
#

Huh.

#

OMG I'm an idiot, I was updating the wrong copy of the mod, let me try this properly and once this is sorted I should really go to bed...

#

Okay, vanilla winter is nulled

#

Thanks Aba sorry I was a numpty and didn't successfully use your edit first time round

#

Now I just have to see if the indoor outdoor part worked!

vernal crest
#

It was your one that is the correct one anyway hahaha xD

#

The only useful thing I did was encourage you to keep using patch export and check your patch was applying lol

orchid glade
#

Oh it was mine, wow, my use of the wrong copy or the mod went way back OMG

#

So I can do that patch in with the rest of the EditData for Appearances

vernal crest
#

Ok I went back and edited mine so people know not to use it if they come across it but don't see the entire discussion.

orchid glade
#

I edited mine to say it was actually right lol....

orchid glade
#

Okay, now to pass on the good news ^.^ thanks Aba and Esca!!

tribal ore
#

Let's say I have two lists of names. List A: "Elliott, Shane, Abigail, Maru", List B: "Penny, Elliott, Sam". Is there a way to extract a value that exists in both of these lists with CP (e.g. "Elliott"). OK to return blank if no value is in both lists

#

I realize that I might be writing more C# for this, just wanted to see if there was an inbuilt already. I can't think of one at the moment :/

tiny zealot
#

in the context of CP, what are you actually trying to do with the value you extract?

tribal ore
#

I have a token that returns a list of bachelors with 10 hearts. I also have a list of bachelors whose special events happen in the rain. I want to extract a "rainy 10 hearts bachelor" on days when it is raining

#

Right now, I can easily grab a random one and just hope that the preconditions match

#

But if I get a "sunny" bachelor on a day its raining, it feels like a waste because no event would trigger that day

#

And I'm betting that telling the game to start raining on day start would be a little janky?

vernal crest
#

You could maybe use Merge to do a check for both? I'm not exactly sure if it works the way you'd need it. I've never used it.

tribal ore
#

Merge would turn the two lists into one. That could work if there was a way of counting the number of "elliott" entries

#

But I don't think there is

#

What I need is a set of set theory methods xD

#

Union, Intersection, Difference, etc

calm nebula
#

Hey @ pathos

tribal ore
#

btw, is there a way to get content.json to reload? patch reload doesn't seem to do it

#

I've been restarting the game

vernal crest
#

Do you mean the config schema or dynamic tokens? If you do, no.

tribal ore
#

Yeah. Dynamic tokens specifically

#

I'll keep restarting then. Just a pain to completely exit everything

calm nebula
#

Patch reload doesn't do dynamic tokens

uncut viper
tribal ore
#

darn. That makes sense, though

sweet apex
#

someone needs to make a lilo & stitch mod 🥲

calm nebula
#

Be the change you want to see

lucid iron
#

!npg

#

!npc

ocean sailBOT
#
Creating a Custom NPC

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

round timber
tribal ore
#

I just realized that the music ID for Sebastian's theme is "echos" and not "echoes", and this makes me irrationally angry

rigid oriole
#

well, harvey's theme is kindadumbautumn so at least it's not that!

brittle pasture
#

what's that weird word, au-tumn?

rigid oriole
#

is this a reference or a question for me?

lucid iron
#

I never doubted my English this hard in my life

rigid oriole
#

autumn like "fall"

brittle pasture
#

that's a joke on how the game uses "fall" instead of autumn SDVpufferwaaah

rigid oriole
#

my bad 😭

vernal crest
#

I wonder if it's autumn so it would rhyme

rigid oriole
#

i thought you were saying you had never head "autumn" before lol

rigid oriole
brittle pasture
#

unfortunately I was briefly exposed to british english via mr bean so I know what autumn is

calm nebula
#

Kinda dumb autumn

rigid oriole
#

meanwhile it's actually called "grapefruit sky" which I think is a very pretty name

#

although it'd be funny to release it on spotify under its internal name SDVkrobusgiggle

lucid iron
#

I thought harvey has the harvey jazz

rigid oriole
#

that's the pasta primavera mix!

#

he has a jazz and a normal version

dusky marsh
#

in location.getObjectAtTile() there is a ignorePassable parameter, what would be these passable objects?

calm nebula
#

Rugs

#

Flooring

brittle pasture
#

isPassable() true

dusky marsh
#

thanks

calm nebula
#

And Harvey my favorite bachelor

brittle pasture
brittle pasture
ornate trellis
#

rahhhhh

calm nebula
#

Is this a temp map

#

Like for events only

ornate trellis
#

mmm yeah i used the wrong command

#

backstory time

#

in say, but after animating, like 30 water tiles its time for a break

round timber
#

WORD indeed

lucid iron
#

The boat woman cometh

#

If it's a temp map, does Water just work

ornate trellis
#

idk this is jsut a CG image

lucid iron
#

But u put it in a tmx right

ornate trellis
#

ya

lucid iron
#

I feel like water might work YuniHappy

ornate trellis
#

its a zoomed in image and i already did the work anyway

lucid iron
#

Yeah too late

ornate trellis
#

idk who posted it onto the wiki but thanks to whoever posted arks explanation as a tutorial there

uncut viper
#

(i need to meet Caitriona, like, yesterday btw)

#

love the design to bits

ornate trellis
#

one day she shall come

lucid iron
#

Boat Woman Fanclub now

uncut viper
#

like the wellerman

ornate trellis
#

i hope i wont disappoint then

woeful lintel
#

I can't believe someone cited ChatCBT to tell me that a feature of FF doesn't work like I told them it did...

blissful panther
#

...now I'm wondering what will happen if I feed MEEP's documentation into one and ask it to do something.

lucid iron
#

You have the schema all laid out...

tiny zealot
blissful panther
balmy valve
#

[Content Patcher] Ignored Altagracia > invalid: must set the Action field.

#

what does that mean

woeful lintel
#

Nah, the amount of pain it gives me really really matches the spelling I use

balmy valve
#

what does must set the action field mean

#

chat, j'ai pete

woeful lintel
balmy valve
#

chat, j'ai pete fort

#

cat i farted loudly

woeful lintel
#

Ça marche aussi

lucid iron
#

Yeah outta ur hands

woeful lintel
#

Oh sorry CONTENT WARNING : FRENCH

lucid iron
#

Unless u wanna write a GSQ vscode extension

balmy valve
#

tw//fr*nch 🤢

balmy valve
woeful lintel
#

Forgot to specify the Action type in a CP patch, or a syntax error that makes it so that the Action field isn't read by whatever gave the error

#

!json share it if you want more 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.

balmy valve
#

yes i will

#

one moment

#

here you go

#

im trying to make a test 2-heart event

#

because i took my adderall with coffee just now and my big brain said "u should make a test!!"

#

i don't see any errors???

ornate trellis
#

if you change the JSON format to Content Patcher you will get a ggood start on certain things in your json being wrong

balmy valve
#

ok lemme try

#

oh

woeful lintel
#

Wow, the error descriptions are very good for format error

balmy valve
#

i added extra bracket set

#

💀

uncut viper
woeful lintel
#

True

urban patrol
#

@idle lantern did you get your schedule working? would you still like me to take a look at it?

woeful lintel
#

I'm just not used to seeing them since most of the time people come here with straight up invalid json

balmy valve
#

the most agonizing part of testing events is waiting for the character to go on the schedule that you made

#

and walk alllllll the way to the library

urban patrol
balmy valve
#

the wat

ornate trellis
#

console command to instantly trigger your event

urban patrol
balmy valve
#

WHAT

#

WHY AM I JUST FININD OUT ABOUT THIS NOW

#

OF COURSE

#

I AM A FOOL

urban patrol
#

💀

balmy valve
#

I AM A GOD NOW; WHY AM I LIMITING MYSELF TO THE CONFINES OF STARDEW'S MATERIAL WORLD?!

urban patrol
#

debug commands are very useful

balmy valve
ocean sailBOT
#

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

haughty charm
#

@balmy valve NSFW comments/topics are not appropriate for this server. Please be mindful of the #rules

balmy valve
#

huh?

#

did i do sm wrong? sorry if i did

#

OHHHHH

#

THE FISH SONG

#

It's a parody of freaks by surf curse but instead of "i am just a freak" the lyrics go "i am just a fish"

#

Oh and probably also the cognitive behavioral therapy joke

#

Very sorry won't do it again

urban patrol
balmy valve
#

Okay, there is an animation titled "read"

ornate trellis
#

you also need to set up the npc before you animate them, dont you

ornate trellis
balmy valve
#

o

#

ok so what do i do instead

urban patrol
#

unfortunately you’ll have to use the animate command

balmy valve
#

it's only one frame

urban patrol
#

oh just one frame is easy

ornate trellis
#

check the event modding page for stuff you can use

urban patrol
#

but it has to be after the required setup commands (music, viewport, positions, etc)

balmy valve
#

okay

ornate trellis
#

if its jsut one frame you can use ShowFrame

balmy valve
#

will it show it until i make it show a different frame?

#

And how do I specify which character's frame to show?

urban patrol
#

i thought there was a stop show frame command but it doesn’t look like there is

ornate trellis
#

it tells you on the event page i linked

urban patrol
#

<> means required

#

[] means optional

balmy valve
#

okay! let's try...

#

ShowFrame {{ModId}}_SantosPerez 25

#

Would sm like that work?

ornate trellis
#

needs a true or false to know if it needs to be flipped

balmy valve
#

True is yes fip or no flip?

#

Her design is asymmetrical

ornate trellis
#

true is flip

balmy valve
#

ok

#

ShowFrame {{ModId}}_SantosPerez 25 false

ornate trellis
#

aye

balmy valve
#

Yea!!

balmy valve
ornate trellis
#

nay

balmy valve
#

oh

ornate trellis
#

the fishmonger

balmy valve
#

fair

ornate trellis
#

xD

balmy valve
#

[game] Event 'FallSpice.AltagraciaMod_Alta2Heart' has command 'speak FallSpice.AltagraciaMod_SantosPerezThis is a test event.' which couldn't be parsed: required index 2 (string textOrTranslationKey) not found (list has indexes 0 through 1).

#

sm is still wrong

#

event starts then ends immediately

#

ima go eat rq

urban patrol
#

as i said before you need escaped quotes. check out the command on the wiki because i can’t type them in discord without them being eaten

ornate trellis
#

you can if you do it like this

#

aka put ` around it

urban patrol
#

\"This is a test\"

#

oh neat

#

i thought they would cancel out the `

#

anyway the correct command would be /speak {{ModId}}_SantosPerez \"This is a test event.\"

ornate trellis
#

you can even do it with coding language but thats a non modding thing so uh yeah mods!!

round timber
#

mods SDVpufferpoggers

#

i mean coding language is relevant for C# shenanigans

urban patrol
#

mods?? in my modding channel? it's more likely than you think

lucid iron
#

60 more...

ornate trellis
#

chu why

#

that message sounds so stupid out of context

proven jackal
#

Hey! Quick question. I'm making a personal mod that changes how birch trees look in SVE. Do I need to update the tile set or can I just update the assets?

lucid iron
#

Is the tree something you can grow?

proven jackal
#

Ya

#

Birch trees, but I just want them to look like maple

lucid iron
#

all u need is EditImage then

#

But if it is just for personal use u can replace the png directly too

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
#

Also i guess if the maple you want is literally the vanilla maple, u can do EditData on Data/WildTrees

balmy valve
#

speak {{ModId}}_SantosPerez\"This is a test event.\"

#

Is that correct?

urban patrol
#

you need a space after the npc name

round timber
#

^

balmy valve
#

okay

urban patrol
#

make sure you're following the syntax of the commands according to the wiki exactly

lucid iron
balmy valve
#

yes seargent SDVpuffersalute

proven jackal
#

What are tile sets for?

balmy valve
#

make funy map

balmy valve
#

Like

#

They are the puzzle pieces, and the game puts them together to make silly image

proven jackal
#

Ah yeah I'll have to modify the tile set then

#

Or use editdata

balmy valve
#

You can even make cool "custom" furniture by frankensteining together tiles

lucid iron
#

Tilesets are also just pngs

#

But they are arranged in 16x16 tiles for usage in map making

#

The birch tree is not part of map, but sve may have put purely decorative birch trees into it's maps (i.e. ones you can't chop down)

#

Whether they use same png depends on how mod is setup

proven jackal
#

Oh that's fine actually then. I only care about the ones I'm placing. Making a candy farm, but I hate the way the birch looks

#

Thanks for all the info!

tribal ember
#

hello everyone i am once again asking for the support of your massive minds

where would i find the help to figure out a retexture patch for another mod?
for instance i have recolored SVE trees and i want it to automatically use my recolor

young sluice
#

howdy folks! I'm having troubles with the sprites of my fruit tree - when placing the sapling, the game crashes

ocean sailBOT
#

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

twin wadi
#

are you sure the file "Mods/Alx.Additions/fruittrees" exists?

#

and im not sure cuz my brain is a bit wonky today but i think you may need to add .png at the end?

young sluice
#

I'm pretty sure? it's in the same folder as my objects and crops and at the very least the objects are loading in succesfully

twin wadi
#

do you have an assets folder?

lucid iron
young sluice
twin wadi
lucid iron
tribal ember
tribal ember
#

Thank you chu

lucid iron
#

It's not the actual folder path u need, but the Target of the loads

#

After that it's identical to editing vanilla texture

tribal ember
#

Okay perfect

#

Thank you!

young sluice
twin wadi
#

can you send your content.json file?

#

!json

ocean sailBOT
#

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

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

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

young sluice
#

sure!

#

Wait, I'm having a separate problem with no errors in my log - I can't plant my seeds at all, it's just not registering

twin wadi
#

the unique ids for the crop and seed need to be the same

young sluice
#

so for example "{{ModId}}_VielefruitSeeds" would become "{{ModId}}_Vielefruit"?

twin wadi
#

for my mod that added a crop, i did {{ModId}}_FruitNameCrop for both seed and crop

haughty charm
#

The id on the crops.json needs to be the same as the seeds object id on the objects.json

#

Or however you set that up

twin wadi
#

and kept the actual fruit named {{ModId}}_FruitName

young sluice
#

ah shit, they're meant to be seperate jsons? i've just got everything in one content.json

twin wadi
#

no

#

they don't need to be

haughty charm
#

You can have it all together, sorry. I just separate them for ease of use

twin wadi
#

just that the id of the thing that's targeting crops.json need to be same as the seeds object (that's targeting objects.json)

haughty charm
# young sluice ah shit, they're meant to be seperate jsons? i've just got everything in one con...

So for example, in your json

            "Action": "EditData",
            "Target": "Data/Crops",
            "Entries": {
                "{{ModId}}_RegalTermor": {
                    "Seasons": [
                        "spring"
                    ],
                    "DaysInPhase": [
                        1,
                        2,
                        2,
                        1
                        
                    ],
                    "RegrowDays": -1,
                    "HarvestMinStack": 2,
                    "HarvestMaxStack": 3,
                    "HarvestItemId": "{{ModId}}_RegalTermor",
                    "Texture": "{{ModId}}/crops",
                    "SpriteIndex": 0,
                }, ```

The cropID needs to be `"{{ModId}}_RegalTermorSeeds":` The *harvest* item is the fruit itself
young sluice
#

AAAAH! Thankyou!!

haughty charm
#

You're welcome!

young sluice
#

I'm still unsure why my fruit tree is crashing, but hell, I'll come back to that!

#

Thanks, all! ❤️

livid drum
#

Working on my unofficial update for the Archery Framework some more it seems the issue that prevents the new items being added to the shop is that when attempting to patch the ShopMenu class, Harmony Patcher returns null when it attempts to access the constructors. It still returns null even with the parameters updated to reflect the contructor's new parameters. Attempting to replace AccessTool.Constructor with AccessTools.DeclaredConstructor also hasn't fixed the issue.

pine elbow
#

apparently adhd/autisim/ocd makes me like modding more huh of course i am a novice

calm nebula
#

The entire signature changed

livid drum
#

...Ah.

#

Well, I guess I'll just have to do that then. This may cause an entire rewrite of the shop code, or at least commenting out the old code. Does it just get added to the shop automatically when the game loads up?

balmy valve
#

/quickQuestion null#You should be more aware of your surroundings.#What're you reading?#Are you okay?\\speak {{ModId}}_SantosPerez \"I...p-probably should.$2\"\\speak {{ModId}}_SantosPerez \"It's a c-cookbook. I'm t-trying to perfect a recipe...\"\\speak {{ModId}}_SantosPerez \"Hm? I'm fine....thank you for asking, though.\"/

What did i doooo

livid drum
#

Would I also have to use Data/Shops in C# or just edit the item json files to add them to the shop like in Content Patcher?

brittle pasture
#

you can do either
doing it in C# is just doing it yourself compared to letting CP do it for you

balmy valve
#

I thought I followed the format exactlyyyy

#

let me smapi this mf

livid drum
#

The mod I'm updating doesn't use content patcher, and I can't really find any documentation on how to add to Data/Shops in C#.

gentle rose
balmy valve
#

Thank you

fading walrus
#

Sometimes all it takes is one missing character 94_blop_pat_f2u

gentle rose
#

and possibly added an extra \\? I'm not sure though, I'm not great at event scripts haha

balmy valve
#

Okay, now the question's showing up right but no matter what i click nothing happens and the question simply pops up again??

gentle rose
#

yeah, both times you wrote speak you did \\speak instead of /speak

balmy valve
#

yeah but the wiki told me to separate those commands by \

#

double backslask sry

#

so now i'm doing \\/speak

gentle rose
#

where does it say that?

#

it said to separate answer scripts, not commands

balmy valve
#

OHHHH

#

SO IF IT WAS LIKE A MULTI-STEP ANSWER

#

Okay okay I see

#

how do i separate the answer1 and answer2 scripts tho

gentle rose
#

honestly I'm not sure tbh

#

I think you were right the first time

#

(as in, after you added the /)

balmy valve
#

okay

#

let me try deleting the double backslashes and testing it just like that

gentle rose
#

oh did you put it right at the beginning of your event

#

look at your screenshot SDVpuffersquee

balmy valve
#

nope i did not

#

it's in the middle

gentle rose
#

can we see the full event please?

balmy valve
#

sure one sec

#

how so? smapi json thing i believe?

livid drum
brittle pasture
#

yes

balmy valve
gentle rose
#

yeah like I said, add the \\s back, I was wrong about those

balmy valve
#

okay

#

between the NPC answer options right?

#

Anything else?

livid drum
#

And would the shop essentially be represented as a dictionary or do I just call it using the id string?

balmy valve
#

I am testing it now

lucid iron
tiny zealot
# balmy valve I am testing it now

in the command you pasted earlier, you didn't have any (break)s
you have to use the literal text (break) to split apart the scripts (and the scripts are delimited by \, which requires you to type \\, as covered)

balmy valve
#

Oh.

#

Wow dang ok

brittle pasture
brittle pasture
#

(im on my bed 5 min away from a 2 hour nap sorry)

#

(and yes read the source)

livid drum
#

Yeah, I'm on the page just now. I'm not exactly great at thinking abstractly so it's a bit difficult for me.

balmy valve
#

Should I put spaces before/after the (break)s?

tiny zealot
#

it probably doesn't matter, but i never add spaces there

balmy valve
#

okay

#

testing now

livid drum
#

I should probably look a bit more at how the items are added.

balmy valve
#

should i put the \\ before or after the (break)?

#

im (break)ing down everybody

#

Okay yeah it's still not working

#

she just says all three dialogues in a row and says the (break) as part of her dialogue

livid drum
#

I cannot figure out how this mod stores the weapons and stuff, I know thy're loaded in through jsons but idk how the data is passed into the mod or if the items are stored anywhere.

#

Maybe it's time to throw in the towel.

serene moat
#

Hey guys, I'm wondering if someone knows what I'm doing what or what is going on. I'm trying to update my mods. I upload the zipped files, but when they appear on my page, it's old versions. Only the text on the page is changed, not the folder.
I have checked that I upload the right zipped folder so many times, I don't know what I'm messing up here

twin wadi
round dock
serene moat
serene moat
twin wadi
#

that's why you have to use \ in quickquestions i think

#

*\

#

*\\

round dock
# serene moat yes

Might be a CDN issue. Experienced that a handful of times when trying to upload a correct manifest file.

#

File says 2.0.2, but the downloaded content shows otherwise.

serene moat
round dock
#

Yeah, more than likely a cdn issue

serene moat
#

There isn't anything I can do about that, right?

balmy valve
#

OKAY THE EVENT WORKS NOW YIPPEE

round dock
#

Or just wait it out

serene moat
#

Wait it out?

#

Like try a bunch of times?

crude plank
#

like wait an hour and try again, if it still doesn't work wait a bit more etc

serene moat
#

Thank you guys. Thought I was going crazy for a second

drowsy minnow
#

is there a way i can create like a mystery bag of sorts? kinda like the chests that come up from fishing but instead comes from artifact spots with my own custom sprites aswell?

ornate trellis
#

you can make a custom geode that isnt a geode

#

dora made chicken drop kinder eggs that clint can break oepn with a variety of stuff

#

if you wanna take a look at that

drowsy minnow
#

ooo yea that could work!! thabk youSDVpufferheart SDVpufferheart

idle lantern
#

My NPC's sprite and portrait are loading in the world, but sending an xnb error during events. Any idea how I can fix that?

round timber
#

log?

ornate trellis
#

not without log and code

idle lantern
#

Sorry. Let me see if I can catch the code, it's repeating into infinity and freezing smapi

round timber
#

!logtoobig you can do this if necessary

ocean sailBOT
idle lantern
#

ah! I got it! I was using the NPC's name in the event, instead of {{ModId}}_Name

ornate trellis
#

rahhh im having a fade issue in my event again

#

yall i need a fresh pair of eyes

balmy valve
#

How do I make a quickQuestion have no text?

#

i've been using "null" as a placeholder

#

nvm i think i figured out how

idle lantern
ornate trellis
#

its not at the end but yeah it shows a fade, then the map and does the fade again

idle lantern
#

Try changing the viewport after the fade to -1000 -1000 before end, so when it does show the map again, it only shows black

ornate trellis
#

i have that

idle lantern
#

oh

#

I FELT SO SMART

#

Sorry 😦

#

I wonder if the camera is still panning? Are viewport changes instant, or do they move to the new point?

round timber
#

should be instant afaik

ornate trellis
#

i mean i also change maps

#

i copy pasted my code from another map so im just ConstanceLoading

idle lantern
#

instead of the viewport change, could you change to a map that's full black, as a bandaid?

ornate trellis
#

im waiting rn cuz ark might take a look if im lucky eeeeee so...forced break time

idle lantern
#

I have an event where the NPC says 'You're not Qi. You're not even wearing that hat.' Do you think there's a way to code the game to play a different event if they WERE wearing Qi's hat?

ocean crypt
#

Ok, I wanted to come here to get the opinion of people who probably know a lot more about this kinda stuff than me. How hard would it be to make a personal mod for something simple (im guessing it would be simple anyway) without much knowledge on how to code? I wanna know how far in the weeds i gotta go before i end up frustrating myself.

idle lantern
#

I suppose it would depend on what it is. I did a very small one for myself a few years ago, that added Tree Fertilizer to Pierre's shop

#

There are some very good tutorials online fi you've got the patience and time

ocean crypt
#

What I wanna do is find some way to make a crate always spawn in a particular place every day on the beach map if possible.

lucid iron
round dock
lucid iron
#

beach crates are hardcoded somewhat

calm nebula
#

You can use ftm

ocean crypt
#

Would it be easier to add somehting to a fishing drop table?

lucid iron
#

thats pretty straightforward, locationdata AquaThumbsup

urban patrol
ornate trellis
#

globalfadetoclear

#

i jsut took it out for now because im so done throwing hands with fade

#

Aba helped me last time and I thought I understood now but apparently i dont lol

ocean crypt
#

Might just add the crates to the beach farm fishing drop table then, that would also work

brittle pasture
#

wouldnt doing that just give you a useless crate item

#

those are world objects meant to be broken by tool

merry rampart
#

how do i edit an Action tile property without editing the map itself? I know there's a way to do it but so far I havent found it in the CP documentation. maybe someone with better eyes knows where it is

#

nvm i found it

urban patrol
#

i know you can make NPCs shake during events, but what about during schedule animations? i've got these frames, and i think it would be cool to have the cat shake on the last frame before reversing the stretch

serene moat
#

Finally got Nexus to upload the newest version of my mod!

twin wadi
ornate trellis
#

youd do that with making more frames and make it part of the animation

young sluice
#

hey folks! how do you find an item's ID? like, I'm moving something into Sandy's shop, trying to put it above the seasonal plant: I know the first part is (F) but how do I find the exact number?

serene moat
twin wadi
#

lemme find a sheet

serene moat
#

I use that site for it

young sluice
#

thankyou!! ❤️

twin wadi
#

beat me to it haha

#

you can also dig through data/furniture.json, with ctrl+f, but the website might be more easy to use

urban patrol
ocean sailBOT
#

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

lucid iron
#

man i thought about making chinese the default.json

#

however its just gonna show as 💢💢💢💢 for like spanish ppl until someone tl that

uncut viper
#

the SMAPI version which fixes en.json isnt out yet anyway

lucid iron
#

well i was going to be Extra and use LocalizedText this time

#

gotta spice things up so i dont return to dust u see

ocean crypt
lucid iron
#

what if you add them to crab pot list

brittle pasture
#

hmm, TIL
I thought they're like rocks lol

calm nebula
#

Custom boxes when selph

brittle pasture
#

sounds like item extension's domain

urban patrol
#

is this sideways door openable? i know it's not one of the three as listed in the interior doors tutorial, but a front-facing one won't work for how i formatted the rooms :/

lucid iron
#

sideway doors aren't real

brave fable
#

it's a cute idea though given the art is sort of already there

rigid oriole
#

What stops one from making sideways door frsmework

brave fable
#

having to work with doors

rigid oriole
#

Put feature in mmap...

lucid iron
#

nou

#

direct all door inquiries to rokugin

urban patrol
brave fable
#

you're going to make sideways pool entry tiles too right SDVpufferpleading

lucid iron
#

Direct all inquiries to kisaa

#

Although i did remember how pool entry give u a big downward force

ocean crypt
lucid iron
#

about the same, i just think it vibes more

#

since crates wash up rihgt

ocean crypt
#

Yeah, I just like having it be part of fishing so as you have to work a bit for em. I just want em more accessable in the early game

calm nebula
#

Since they aren't fish i don't think they'll do the fishing minigame

lucid iron
ocean crypt
#

Thats fine, i was thinking of having em come up like trash/coral in the fishing

lucid iron
#

ig u have to make them fish

drowsy minnow
#

just a random question related to my work

what would yall name this dice set?

#

(and no thats not my photo its from pinterest :])

lucid iron
#

blueberry rasbery smoothy

ocean crypt
#

Rusted Water

brave fable
#

nebula

drowsy minnow
#

thank uuSDVpuffersquee

lucid iron
#

anyone remember how to make aseprite stop prompting animation when u have file01.png and file02.png

twin wadi
#

don't show this alert again checkbox?

lucid iron
#

ah ty i was looking in config for a checkbox

twin wadi
#

i also found an option in the preferences menu

#

pref > alerts > "open a sequence of static files as an animation"

#

ive asked if i could use vs code for c# before, but since i cant get vs rn (since i have mac) is there a workflow that works? why is vs code a bad option for c#?

long jungle
#

Anyone here friends/have contact with @half ether ?

I DMed them some weeks ago but I think they still haven't seen my message, possibly because of Discord settings or something.

I used to be able to message them on Nexus but now that's gone.

lucid iron
#

i dont think mouahrara is very active here

#

but what is it that you desire

glossy anchor
#

@blissful panther [Mapping Extensions and Extra Properties (MEEP)] Animal Book already exists with MEEP id DN.SnS.Book_Inside_OG in EastScarp_DruidTower. This means removal failed to happen for some reason.
[Mapping Extensions and Extra Properties (MEEP)] This means no animals will be spawned in this location, even if they don't have a duplicate for safety.

what does this mean ? oh no, is my save cooked guys ? 😭 😭 😭 😭 😭 😭

long jungle
#

I just wanted to report a bug on one of their unofficial mods.

#

Thanks for the help!

uncut viper
lucid iron
#

if u use vscode the rec is to do everything on command line (except debugger)

twin wadi
#

k thanks!

#

when you make a c# project, where do you create it? in a mod folder?

lucid iron
#

the wiki has a full walkthrough for the button press mod

#

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

and heres what a simple mod setup might be like

twin wadi
#

thank you!!

ocean crypt
#

Alright, I think(hope) I'm understanding some of it. Ive found where I wanna add a value, though im a little lost on formatting the code, because there doesnt seem to be a difference between the relevant areas? I'm trying to set up an EditData at data/locations, but im having a hard time understanding how to distinguish where i want the data exactly. I know its under "Farm_Beach" and "Fish", but that section has multiple containers (one for the mussels and coral and such, and one for the seaweed). I'm trying to figure out how to add a new item to the seaweed exclusive pool.

calm nebula
#

Wdym seaweed exclusive pool

ocean crypt
#

theres one section with a chance of .15 that only has seaweed as a possibility, and another section with .06 chance with the ids for mussel, coral, etc

#

id paste the relevant code but its a bit long

languid matrix
#

Does the Desert Festival have a separate map ID from the normal desert?

#

And can multiple locations be patched simultaneously?

#

Ghost town again?

idle lantern
#

hooray! I've got three done!

ocean crypt
#

https://pastebin.com/MrJ7c3hz
Alright, this is the section I wanna change (found under Data/Locations). I wanna change line 192 and 193 to include the item id for Supply Crates (922). How would I go about that? I thought id use an EditData action, but im not sure how to specify that particular section, as there are several sections like that without some kinda unique header.

idle lantern
#

I wonder if you can utilize the conditions null section

#

Do you want it to be o152 until a specific point, or you just want that gone?

ocean crypt
#

I want o152 to stay there. starting at line 237, you can see where this category has multiple items (covering the mussel, coral, etc that you can catch at the beach farm). I want to make the previous line like that by adding in the crate to the seaweed section (o152, which is the id for seaweed)

idle lantern
#

https://forums.stardewvalley.net/threads/adding-one-fish-to-beach-location-overwrites-fish-spawn-pool.28378/ check this forum post, it seems similar. They use Content Patcher to append data for fishing

#

Instead of Beach, maybe Beach_farm would work?

#

they used the SVE code as an example - I think SVE edits farm fishing, I bet it'd be copyable

brittle pasture
brittle pasture
#

TargetField allows you to insert new entries into a nested field

ocean crypt
brittle pasture
#

Entries is a dictionary, so you need a key before each object

"(O)922": {
}
#

otherwise yes SDVpufferthumbsup

ocean crypt
#

Mmmm, that bit im a bit confused by

lucid iron
#

Consider using the json parser to share jsons

brittle pasture
ocean crypt
#

Oh damn it works

ivory plume
lucid iron
#

pathos what about fish tank

#

can u make 1x1 tanks with this

#

and 1x1 storage furniture

ivory plume
#

This doesn't really change how fish tanks and storage furniture work. Are you unable to create 1x1 versions of those with the current Data/Furniture? Now that it's been data-asset-ified, it's much easier to make changes if needed.

lucid iron
#

well rn if u make a 1x1 fish tank u cant put fish bc the capacity is based on width

#

however if u do mod it to let fish in, the fish enter the Pain Dimension because the swiming bounds is too small and they turn around every tick

#

also if u did this and then put the tank on a table, u lose all the fish

#

so yea idk what is best here kyuuchan_run

#

between dehardcode fish tank and not making fish enter pain dimension

ivory plume
#

That could possibly be something we look at when/if there's a mod author beta for 1.6.16, if there's someone with an repro content pack to test with at that point.

lucid iron
#

i have a wish for furniture data model to get something akin to buildings (collision maps, draw layers, tile actions) but aside from actions, im not sure if any vanilla furniture would use these

ivory plume
#

Tile actions are a definite possibility, and collision maps could maybe be added. Draw layers are likely out of scope for vanilla though.

lucid iron
#

aye ill just save these thoughts for beta Sleepden

#

still would be excellent to dehardcode actions like show calendar so ppl can make modded ones without additional framework

urban patrol
#

looking at the data for pets. higher decimal = higher pitched noise?

tiny zealot
#

yeah. e.g. 1.25 on a cat gives you a higher pitched meow

urban patrol
#

excellent, thank you!

#

i am indeed looking for a high pitch meow for a kitten lol

calm nebula
#

If stardew 2.0 happens will object.helditem happen?

lucid iron
#

object.heldisalable

#

let me hold a recipe i promise no crimes here

brittle pasture
#

fuck it, object.heldobject

#

as in lowercase object

calm nebula
lucid iron
#

oh no

calm nebula
#

How does that work for the serializer

lucid iron
#

wait but thats gonna explode netcode- yea

calm nebula
#

Also a recipe can be an Object

merry rampart
#

Question about scheduling...

If I want my character to start at a specfic spot at the start of one day rather than their Home spot, would I just put 0 as the time?

I've only seen this done with Green Rain so I'm not sure if it'd work outside of it

#

I suppose I could just try it out and see if it breaks

#

oh cool, it worked. I'll need to keep this in mind

urban patrol
#

(yep, that's called 0 schedules!)

#

i have a question about pet behavior. i copied all the cat behaviors from Data/Pets, but now i'm encountering a frame issue where, for the LeapJump behavior, when the cat leaps to the left instead of the right, it's facing the wrong direction. i don't see any fields where i can tell it to flip that frame. do i have to define it as a right-facing behavior only or something?

drowsy shadow
#

is it possible to import the value of a dynamic token from a mod?

uncut viper
drowsy shadow
#

Thank you!

lucid mulch
drowsy shadow
ivory plume
woeful lintel
burnt raft
#

Hey y'all, I'm wondering if there's anyone who could help me brainstorm on a heart event I'm making

blissful panther
inner harbor
#

can one make animated furniture with Content Patcher alone?

#

(Looks like can be done with SpaceCore)

urban patrol
#

procrastinating on my current mod by... making another mod! https://www.nexusmods.com/stardewvalley/mods/34867 adopt kittens as pets :3 current colors include black, tuxedo, and grey--more colors will be added in the future

Nexus Mods :: Stardew Valley

Adds new adoptable kittens, available at start or for adoption from Marnie's ranch.

vernal crest
#

(Unless you were asking for brainstorming help for how to actually write the event commands to achieve an idea you already have, in which case in here works instead ^_^)

serene moat
inner harbor
#

I made a mod that turned the toddler into a kitten once. It wasn't very good though.

flat sluice
#

Hi!
I'm struggling with correctly loading my map into the game. I know that the problem is the loading of the tilesheets. However, I'm not sure how it should be correct.
If I know correctly, I have to have the tilesheets next to the tmx map file to edit the map. Then, both the game and Tiled don't have any problems in loading the map. However, when I delete the tilesheets (which I will have to do (after I will create public releases) because of the rights (and also because of the mod size,...)), the game won't load the map at all, and Tiled will show the error that the tilesheets are missing.
Therefore, my question is - how to solve this?

rigid musk
flat sluice
rigid musk
#

Can you send the smapi log with the error

flat sluice
ocean sailBOT
#

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

rigid musk
#

Those tilesheets (the furniture ones) aren't located in the maps folder so you would need Arbitrary Tilesheet Acess as an additional framework

ornate trellis
#

unrelated but heres a tip: its always best to test your mods in the smallest modload possible(aka only using the mods you really need)

flat sluice
rigid musk
#

Happy to help!

#

And thank goodness for Button lol

flat sluice
#

Now... Either change the map to remove the tilesheet from it, or add Arbitrary Tilesheet Access as dependency...

#

Or I can have 2 different maps - one with them, and the other without...

inner harbor
whole raptor
#

I see an issue there... actually playing the game SDVkrobusgiggle

inner harbor
#

I still play it!

visual dirge
#

i should make a mod that adds the ponies from my little pony friendship is magic as adoptable pets 🤯

#

starhooves valley or some shit

#

is there a way to make a pet that always has one fixed name instead of being named by the player and that you cant have two of

gentle rose
#

it would probably require c# I'm guessing SDVpufferthinkblob

visual dirge
#

yea 😔

#

its ok im sure i can figure it out 😁

idle lantern
#

I'd like to make a cutscene where the player has choices to spy on other people. Would it make more sense to use the 'change event' coding than trying to do all of that withink quickQuestion or question prongs?

vernal crest
#

I think that using switchEvent with quickQuestion gives you the most flexibility in how to do things because then you can easily put more quickQuestions in the routes and/or give them separate endings etc.

vernal crest
#

(And if you don't want them to have separate endings, you can write an "ending" fork that they all switch back to if you like)

humble oxide
#

Theoretical question:

How difficult would it be to make a mod that added a Farmhands Barracks which allowed the recruiting of farmhand NPCs that worked on your farm, watering, harvesting etc etc? Like, junimos on steroids?

#

You'd have to pay them, feed them, and they'd work better with better pay and conditions etc etc.

#

I have zero coding/modding skills and just want to know if the idea is viable and how difficult it would be.

lucid iron
humble oxide
#

So... difficult?

lucid iron
#

the gist is that making something magically harvest invisibly overnight is simple, letting player see that happen is pain in the ass

#

still a C# mod either way 3sSmolMiku

humble oxide
#

Ahh k. Yeah, seeing them working would be part of it.

lucid iron
#

some existing mods in this auto harvest genre

  • better junimos
  • that one ridgeside thing where you pay someone to (invisibly) water your crops
  • collector/deluxe autograbber
calm nebula
#

It's perfectly doable SDVkrobusgiggle

#

You just have to do all of it yourself

lucid iron
#

yea i mean the player always defeated the elite 4 in the games YuniHappy

calm nebula
#

I would say viable.

#

But not easy

lucid iron
#

just gotta work at it so u can become champion of the harvesting mods

calm nebula
#

And would not make it your first coding project

#

You know the pathfinder is my white whale right

lucid iron
#

oh theres also this thing

#

it hasnt been updated since 2019 but it is a mod that pilots the farmer around as a bot

calm nebula
#

Morning, chue!

humble oxide
lucid mulch
#

event tester has the farmer auto do the events 😛

woeful lintel
#

(what they're not telling you is that this can become a team project by asking stuff in here and letting people help you)

calm nebula
#

What should I do in San Francisco today

#

I'm thinking Modern Art

#

I already made a sweep for yarn stores but can't make it to a local one

lucid iron
calm nebula
#

I am not going to rewrite the pathfinder because I have no longer the time in life for it

lucid iron
#

there was also this really cool wip where someone did slap a better pathfinder on the spouse npc so they can do stuff around the farm

calm nebula
#

But it is my white whale

lucid iron
#

never saw light of day though very sad

humble oxide
lucid iron
#

if u got any less ambitious ideas we can point you right way

lucid mulch
#

the only real change I want on pathfinding is switching the source of truth of warps being the path finder itself rather than collision

calm nebula
#

Hey, I stepped foot on Purdue's campus four times in my life!

lucid iron
#

good to get yer feet wet first

calm nebula
#

Morning, SinZ

lucid mulch
#

in second place is the ability to have path finding more aggressively prefer paths

woeful lintel
lucid mulch
#

the micro pathfinder is already A* to an extent,, the problems are how it interacts with the other systems

humble oxide
#

I've got one mod installed that auto waters for you. Pathfinds to unwatered crops/water sources. Isn't too cheat-y.
Its what had me thinking about farmhands.
I just feel like, end game, when you're drowning in casheesh... expanding your farm by hiring workers would be the logical next step for your farm.

lucid iron
#

but u hired them

#

junimos PecoSmile

lucid mulch
#

there is farmtronics if it survived the 1.6 update to userland program your own robots to do it

calm nebula
#

It's not just a question of doing it

#

It's a question of making it not slow

#

My original midday scheduling out of gima would noticeably hitch

#

It's why gima midday was always sharded

lucid mulch
#

async compute thread and have the mainthread update loop poll to see if the schedule has been finalized yet to execute?

humble oxide
#

(See, now this is the esoteric coder mumbo-jumbo I came here for)

calm nebula
#

Not sure tbh. I think they once has junimos background schedule but took that out

lucid mulch
#

tbh its possible it just caused console problems as the consoles technically aren't running true .net core/framework and is some nda flavor

calm nebula
#

True

#

Anyways

#

What do I say these days

#

I'm too employed for this

lucid mulch
#

I feel that, though its nice to have something interesting to work on outside of work

calm nebula
#

(Legitimately. I could swing it if I working 40hrs/wk. At close to 80 I can't.)

lucid mulch
#

ah yeah, I'm not working in the US that normalized such silly working conditions

#

my contract is 36.75hrs/wk and even then im reading discord on company time

humble oxide
#

Well, its 1am here and I'm up at 6 for work myself. Thanks for your thoughts on this, it's been illuminating. And keep up the good work.

patent lanceBOT
vernal crest
#

I am also working too hard to make mods. Working my way through many Next Fest demos

calm nebula
#

Have fun?

#

Hey, I'm taking both weekend days this weekend

#

I'm, heck, even traveling lol

vernal crest
#

(I have added so many more games to my wishlist that I will never buy!)

calm nebula
#

Alright. Breakfast done, now I need to figure out how to return my keys

lucid iron
#

hm another localized text benefit: i can patch reload translations now

lucid mulch
#

Tbh if I was doing content mods I think I ditch smapi i18n entirely and go all in on localised text.
Get the full power of the asset pipeline and in the case of cp, full use of tokens unrestricted without any of the weird plumbing

lucid iron
#

well i am trying it out yea

#

wish there was a shorter alias for LocalizedText monS

lucid mulch
#

Blueberry already does it with love of cooking and the English localisation is just a content pack

lucid iron
#

but i like this more than the i18n way of formatting string

#
[LocalizedText {{ModId}}.i18n:couch.name [LocalizedText {{ModId}}.i18n:couch01.name]]

and then

"couch.name": "{0}黑金沙发",
"couch01.name": "玫瑰·",
#

so i get 玫瑰·黑金沙发 in game

lucid mulch
#

Also means you never even need to think about when stuff gets baked into the save or not, as localised text is safe there anyway

lucid iron
#

hm i wonder if it would work for the weird ring description issue

lucid mulch
#

Still need to semi think about it in terms of what keys are breaking changes

calm nebula
#

Tbh I think of it in this way

#

I18n has nice fallback

#

I would rather fall back to English over gibberish

lucid mulch
#

Blueberry does that by doing an early edit data in English and then has the other languages default/late edit to populate with the language in question

lucid iron
#
{
  "LogName": "LocalizedText翻译",
  "Action": "Load",
  "Target": "{{ModId}}.i18n",
  "FromFile": "i18n/default.json",
  "Priority": "Low"
},
{
  "LogName": "LocalizedText翻译",
  "Action": "Load",
  "Target": "{{ModId}}.i18n",
  "FromFile": "i18n/{{Language}}.json",
  "Priority": "Medium",
  "When": {
    "HasFile:{{FromFile}}": true
  }
},
#

i used . so that i dont have to \\

lucid mulch
#

Doing it via load means you have lost access to CP tokens again

lucid iron
#

but i dont want to have them for this Bolb

lucid mulch
#

And it's all or nothing, the translation needs all keys populated as there's no per-key fallback

lucid iron
#

i am try to use {0} for things

lucid iron
#

that said it is also just for flexibility, able to i18n if needed

#

i dont think ill need it for this mod specifically tho

#

what i really would like instead is to use TargetLocale

#

but i dont want to make it hard for people to just toss in new i18n

calm nebula
#

I think I'll refactoring some of my dialogue to use localized text

spiral lion
#

Helloo! Do anoone know where in the Content (Unpacked) folder the food/object spirtes are lookated??

ornate trellis
#

Maps/springobjects

spiral lion
#

THANKS!!

gaunt orbit
#

Basically everything is either cursors or springobjects

#

Even if you think it isn't. It probably is

lucid iron
#

I was shocked that seb event rpg backg is not in cursors

tribal ore
#

If I declare local tokens when including a file, will they be passed automatically to other files included by that file?

calm nebula
#

I think so

tribal ore
#

Ok, will give it a try

ornate moon
#

does anyone know how the better truffles mod work? i want to use its mechanics on my otters but it doesn't have a content file so i can't figure it out

brittle pasture
#

it hardcodes truffles specifically

#

actually

#

To enable the bubble indicator for their products, the mod author will have to add "temisthem_bettertruffles" as a context tag to their custom item in content.json. Adding this context tag for other objects will also cause the bubble to display too.

ornate moon
#

so i can't do anything about it?

brittle pasture
#

see my correction above

#

you need to add the tag to the object that your otters dig up

ornate moon
#

so it'll be like temisthem_betteroceanstone?

brittle pasture
#

no, that tag exactly

ornate moon
#

and that will also remove the bubble from the otters like for pigs not having bubbles anymore?

brittle pasture
#

that's a different mod I think

#

ui info suite 2 is the one I was thinking of that hardcodes truffles

ornate moon
brittle pasture
#

your own mod, use targetfield to edit ocean stone's context tags field to add your own tag

calm nebula
#

This might be me being dumb as usual bit why would you need to hardcode that

uncut viper
#

(does it still hardcode it after the big revamp?)

calm quiver
#

Question. If I'm doing a texture pack, can I just modify all the items I'm replacing in sprinobjects and then use edit image in content.json? Or do I have to do an action for every item I replace?

#

Rn I'm just dragging the textures over the unpacked map and then targeting the original.

uncut viper
#

if you can do an Overlay then one EditImage would suffice

brittle pasture
#

animals are still a giant ol pile of hardcoding then

uncut viper
#

but overlay means you'd need to cover the existing pixels of an item with a new pixel and not have any transparent parts that dont overlap bc thats what overlay does

#

if you are replacing every single thing in springobjects (every thing) then one EditImage as Replace will also work or a Load

#

but if the things you'r replacing are disconnected from each other then you'll want multiple actions

#

bc you'll have to define the individual rectangles

calm quiver
#

oooof okay

#

I am going to replace everything eventually but I’m just tryna see them in game 😭

#

What I’ve done so far anyways

uncut viper
#

if you just wanna see them in game you can just Load or EditImage over the entire thing

calm nebula
#

Just temporarily load your entire sheet

#

Not great for compat but you can do the code later

#

Give me back the brain cell button

uncut viper
#

the reason you'd need multiple if you didnt change every thing is bc you would be editing the originals back on top of themselves by loading springobjects_edited on top of springobjects

calm nebula
#

I'll give you a popsticker in return

uncut viper
#

which isnt bad if you have no other mods... but odds are in a big mod list, theres some other mod editing springobjects out there who would be overwritten by you doing that

#

and effectively reset to vanilla

gentle rose
#

(button ignoring the chaos and continuing to give advice)

uncut viper
#

(or if you removed the unchanged ones from your edited springobjects.png, then you'd be replacing them with blank spaces)

calm quiver
#

Hold on

#

Ok

#

So why exactly can’t I just replace the objects I want and then…leave everything else there

uncut viper
#

bc you cant do "only replace these specific, disconnected sections" in one EditImage

calm quiver
#

Like what I’m doing is deleting the original image and replacing it. Am I supposed to put it on a new layer?