#making-mods-general

1 messages · Page 432 of 1

lucid mulch
#

yeah not sure, I did check the history and was always CustomAttributes during 1.6 so wasnt a case of being for an old 1.6 version

elder kite
#

The original format of the mod is different, what I sent here is a reformat by Claude to try and match the new format based on the github docs

#

This change fixed the new format claude made

lucid mulch
lucid iron
#

ill tell you how i knew it had to be different, it's by reading Data/Objects.json in the unpack to see what the data i am editing looks like

#

!unpack

ocean sailBOT
#

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

elder kite
#

Oh lovely, I was wondering how to do that

#

Thanks for the link :)

lucid iron
#

but yea ai will make up fields that sound sensible

#

is not that complicated in the end Sleepden

elder kite
uncut viper
#

well it made something that was broken, so..

lucid iron
#

im not sure what you are digressing about when i described the exact problem you ran into monS

#

is not really an opinion

lucid mulch
#

broken and sent me down on a false hunt to find out if it was ever called effects

#

as you described it as fixing an old mod, not you ai generating something

elder kite
#

can we chill? i really appreciate the help guys

#

AI halucinates, nothing new

#

i wont bring up AI here, sorry for causing any issues

#

and again, thank you all for your help

autumn tide
#

any tips for when you really want to work on something but you don't have any inspiration for it? been hyperfixating on modding for a while and i don't have have any ideas but my dumb brain still wants to work on it when i literally can't-

elder kite
#

i find that getting into another game, just to get obssessed with modding it, then getting bored and repeating is a good cycle xd

hard fern
oblique meadow
lucid mulch
#

for me breaking down big problems into smaller chunks that are achievable in a single session helps, but also just only doing it when I want to is the main thing

autumn tide
autumn tide
lucid iron
#

you can always make a smaller mod on the side

hard fern
#

I usually just do the "boring" pasta

#

*parts

autumn tide
#

pasta 🤣

oblique meadow
#

I was midway through my expansion area when I got a sudden brain idea for a glowy mushroom farm and did a full pivot. So it happens

rough briar
#

if you dont feel like making new stuff, why not convert or translate existing stuff?

#

translating is probably the easiest but ya, small side projects until you get a big idea and inspo

autumn tide
#

for me I have the big idea, which is specifically what I'm hyperfixating about lol, honestly barely know how to code-

elder kite
#

now there's a weird new problem lol. I switched it to use actual seconds instead of the percentage thing, and the config is working but the time values are all wonky in game:

360 in config shows up as 4:12 in game
600 config = 7:00 in game

I'm literally just putting the config value straight into Duration with no math:

        {
            "Action": "EditData",
            "Target": "Data/Objects",
            "TargetField": ["395"],
            "Entries": {
                "Buffs": [
                    {
                        "IconTexture": "TileSheets/BuffsIcons",
                        "IconSpriteIndex": 9,
                        "Duration": "{{Coffee Time}}",
                        "CustomAttributes": {
                            "Speed": "{{Coffee Pace}}"
                        }
                    }
                ]
            },
            "When": {
                "Enable Coffee Changes": "True"
            }
        },```


```{
  "Enable Coffee Changes": "true",
  "Coffee Pace": "1",
  "Coffee Time": "600",
  "Enable Espresso Changes": "true",
  "Espresso Pace": "1",
  "Espresso Time": "600"
}```


what time units does SDV actually use?? clearly not seconds, or am i doing something stupid wrong? 😓
hard fern
#

Millisecond

#

A lot of things are measured in that

#

But it depends

elder kite
#

The ratio is about 0.7 real seconds per config unit. So like 360 config units = 252 real seconds.

#

So its definitely not MS, unless again, im doin something stupid

shut edge
#

The answer in my mind is to work on things about what you would like to mod

#

When I want to mod but don't know what to do I'll just do research and make spreadsheets and whatnot

#

Break it up into small ideas you can do a piece at a time

#

Most of my mods are just parts of my overall Big Idea that work fine as a standalone thing

lucid mulch
#

that ratio sounds like the ratio of irl time to ingame time

#

(Optional if BuffId is set) The buff duration measured in in-game minutes. This can be set to -2 for a buff that should last for the rest of the day.

brave fable
#

if -2 is until the end of the day, is -1 until the end of the session

elder kite
#

So whats the best way to make the config in seconds? I tried a query like this but it stopped the whole mod from working with no error output lol

"Duration": "{{query: Round({{Coffee Time}} / 0.7) }}"

lucid mulch
#

-1 appears to be forever (within the session) and is the default

#

note that any mods that change Game1.realMilliSecondsPerGameMinute will affect your equation anyway

#

I would just have the config also use ingame time

uncut kayak
#

Mod idea: "x" chance for throwing your baby in the air to make a thunk/thud sound and drop a wood plank on their way down (they hit the ceiling) 😭

rough briar
#

converted a JA to CP mod but i cant seem to get the recipies to be correct??? like the blueberry swiss roll straightup has no recipe in the lookup anything menu, but if i use the cream cheese swiss roll for example, it says this

lucid iron
#

424 houseplant DokkanStare

rough briar
#

( using the cream cheese swiss roll recipie from the original mod, its 1 sugar, 2 eggs, 1 wheat flour, 1 cheese, and 1 milk )

rough briar
lucid iron
#

rn 246 is applying to ur egg

#

and 424 is applying to item id 1

rough briar
#

well the cream cheese swiss roll looks like this:
"annette.swissroll_CheeseCreamRoll": "245 1 -5 246 1 424 -6 /10 10/annette.swissroll_CheeseCreamRoll/default/",

#

im trying to use the recipes as a reference in the modding recipe data thing

brittle pasture
#

the ids alternate between "ingredients" and "quantity", so that recipe looks like "item 245, quantity 1", "item -5, quantity 246", "item 1, quantity 424", "item -6"

rough briar
#

oooh

brave fable
#

inshallah half a thousand houseplants egg roll will feed us for many months

rough briar
#

LMAOO

shut edge
#

sounds like a feature not a bug

rough briar
#

finally some normal fucking food /j

brave fable
#

i have a question

#

is it meant to be called a Swill Roll

#

because that sounds really very unappetising

rough briar
#

i just noticed

#

no its meant to be swiss LMAO

tiny zealot
#

also is it "cream cheese" (my expectation) or "cheese cream" (something else)

rough briar
#

im going off of the original mods titles and descriptions

tiny zealot
#

alright, cool. it's just that you said "cream cheese" a few times earlier /lh

rough briar
#

-# yeah my brain autocorrects me lmfao

#

cheese cream is not normal sounding to me

drowsy pewter
#

mm cheese cream

calm nebula
#

6480, have you ever intentionally or unintentionally made butter

shut edge
#

creamed cheese

calm nebula
#

also I have you in my head as "one of the people who cook" although that might only be because you've made a cooking mod

shut edge
#

(don't use that)

calm nebula
#

I get these things confused sometimes, you see

drowsy pewter
#

Just kidding. I do cook but not butter because I dont eat dairy

shut edge
#

i also added a butter. just made mine a tub at the store tho

#

maybe i should make support for other mods' butters

drowsy pewter
#

thats an easy way to get around having to have a machine for it

shut edge
#

yeah

tiny zealot
#

somebody make a mod that lets you have the joja qorn "b'utter sauce" and you can use it in any of the modded butter recipes

shut edge
#

i did that for all the stuff i felt i was missing for the toast mod

#

you gave me some art in fact!

#

thanks again for that btw

lucid iron
#

qorn

drowsy pewter
brittle pasture
#

soon there will be 5 mods for butter, and yet not one for the OG “I can’t believe it’s not butter” alternative

shut edge
#

clearly stardew needs one of those mods like minecraft that lets you convert same-named items

calm nebula
#

(selph I know is a good cook)

tiny zealot
shut edge
#

is there a "big" one? i saw one that did a couple mods

drowsy pewter
lucid iron
#

I mean it did the ones that actually had dupe items

lucid iron
#

I thought u were making some kind of 🌽 pun

drowsy pewter
shut edge
#

on that note if anyone wants to use my butter tub in their mods go nuts

#

i'd say any of them but i know i did the butter art myself...i think

brittle pasture
calm nebula
patent lanceBOT
calm nebula
#

and dreaming of a better time

#

SoonTM

tiny zealot
shut edge
#

joja c'orn b'utter (fake butter made from fake corn)

drowsy pewter
shut edge
#

yeah tags are probably the most sane solution there huh

tiny zealot
#

context tags my beloved

drowsy pewter
#

the issue is that any mod author wanting to support interchangeable items in their recipes is going to have to add another component on top of their existing recipe code and recode all the recipes in order to add that option

tender bloom
#

What happened to spacecore context recipes?

#

I remember the old issue was loc compat

#

But idk if that’s fixed now

drowsy pewter
#

its compatible now, just not released yet

tender bloom
#

Ah okay

#

Well, sounds like I have plenty of time to procrastinate releasing butter mod 6.0

drowsy pewter
#

Theres no issue with it, I just dont think a lot of mod authors have it at the front of their minds

uncut viper
tender bloom
#

I found my old butter sprite and I’m dusting off the idea of inflicting 15 conflicting standards on the world

shut edge
#

just petition ape to add butter to 1.7

tender bloom
#

Maybe I’ll even dig up my “context tag-ify everything” Matlab code

drowsy pewter
#

He probably will and I hate that thought

tender bloom
#

Just to complete the effort of striking fear into everyone

uncut viper
#

(the minecraft mod was even literally directly mentioned in that previous brainstorming)

tender bloom
#

The last time I seriously thought about context tag recipes was before my python era

#

Honestly I’ll probably just add compat for mods I’m excited about and be too lazy for anything else

#

I have been playing with VMV and wildflour butter

#

Those are different enough I can keep track

calm nebula
#

well yes

#

of course

#

vmv butter is french butter

shut edge
#

anytime i feel like i'm making a duplicate food item i just give it a qualifing name

brittle pasture
shut edge
#

like <region <food>

tender agate
#

sorry to butt in, why are the tile coordinates in e.Added here floats? how to convert to int tile coordinates?

drowsy pewter
#

modded farmers in 2028: who here has 7 fish sauces 🙋‍♀️

hard fern
#

What if i made butter that can only be used in certain recipes

shut edge
#

my current loadout has at least two soy sauces

uncut viper
tender agate
#

so just directly type cast and it'll be fine?

uncut viper
#

(likely because there is a lot of conversion between tile coordinates and screen coordinates which may not always multiply/divide cleanly)

#

i dont know. i just do ToPoint()

#

alternatively, why do you need them specifically as ints

tender agate
#

coords to my own 2D arrays

brave fable
#

truly putting the love of cooking at the forefront of butter-inclusive cooking mods

calm nebula
#

lumi has french butter though

brave fable
#

irish butter. the strongest of all butters

drowsy pewter
#

Hmm I want to do crop breeding mod, but my current idea is to manually create four different "qualities" for each vanilla seeds, that have different qualities of produce. Then higher quality produce can be seedmakered into their respective seed type

#

But seems like a bad approach for compat

brave fable
tender bloom
#

With c# I feel like you could do it

#

Assigning non-vanilla seeds qualities too

#

Wait by quality do you mean like star?

#

Or like “blue” “cool” “sparkling” “intense”

drowsy pewter
#

For a non-C# implementation it would have to be not actual star qualities, since they need to be different items to plant different crops

#

But it's easier for a player to understand if they follow the star quality tier levels, like changing the seed packet color

tender bloom
#

I see, yeah

drowsy pewter
#

6480 can learn C# once he's drawn all the sprites he needs to draw

brave fable
#

i wasn't aware you ever planned on stopping

tender bloom
#

You could always nerdsnipr someone into C#

uncut viper
#

not it

tender bloom
#

Hopefully not me tho bc my productivity took a nose dive today when I got distracted by modding

brave fable
#

nerdsniping only works for fixes, not features. them's the rules

calm nebula
#

I'm old

drowsy pewter
#

I have a mod idea, is this the channel for mod ideas

#

I cant pay but I can give you ideas

uncut viper
drowsy pewter
#

Ohh

ornate locust
tender bloom
#

You could dm bouncer to see if he’s in /jokjng

calm nebula
#

well I'm out of mod ideas these days.

tender bloom
#

Clearly you need 6480’s!

calm nebula
#

I'm too busy trying to figure out if I have a shot at sigma aldrich chocolate

tender bloom
#

I think you do

#

I have to plan class for tomorrow

#

I’m pretending I don’t, though

calm nebula
#

since when did paypal try to be a bank

brittle pasture
tender bloom
#

They could be internally different but C# stars added, maybe?

#

It would certainly cause some interesting compat questions

brittle pasture
#

that joke took a while because I have to dig up every mod I know of that implements some sort of auto planting

uncut viper
#

you forgot one

brittle pasture
#

do not answer I'll figure it out

uncut viper
#

answer what you didnt even ask

brittle pasture
#

uuh weather wonders?

uncut viper
#

you told me not to answer

brittle pasture
lime maple
#

is HarvestItemId from crops the qualified id? (O){{int}}?

brittle pasture
#

if you're asking about the field in Data/Crops, the vanilla game seems to passes unqualified IDs into it
if you really need a qualified item ID use ItemRegistry.QualifyItemId

brave fable
lime maple
#

I'm sorry, I'm dumb

brittle pasture
#

are you working in C#? I assumed you were, so I added a C# function

#

if not then just ignore that sentence lol

lime maple
#

no, I'm just content patching

brittle pasture
#

but yeah when in doubt unpack the vanilla data and see how senor ape does it

lime maple
#

senor ape, I'm ded

brave fable
#

el macaque...

lime maple
#

I'm migrating my mod from json assets and producer framework to simply content patcher mod

#

another question, in json assets the seeds purchase were directly on the crop definition, here we need to make a change for each shop right? this will be the end of me

brittle pasture
#

yes, you need to edit Data/Shops
don't forget to use TargetField to selectively insert an entry into the Items field

#

hmm the wiki does have an example, that's nice

lime maple
#

can you share the page? please 🥺

brittle pasture
#

!unpack and do this if you haven't already

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!

lime maple
#

I'm following another mod as a basis

#

but I started the seed, and I noticed the shopping rules are "absent" because they are obviously where they should be, in the shop definition

slow basin
#

in all honesty im so done inputting the items mentally i kinda wanna go look at how to input the items to be randomly gotten

#

XD

brave fable
#

why can't there just be one goddamn cake

tender bloom
#

what if my favorite flavor of cake is oatmeal raisin

slow basin
#

SDVpufferdead im at 230 items

ornate locust
#

can't have one cake if there's this many kinds of butter :V

oblique meadow
#

What about a butter cake

ornate locust
#

Is it made of all the kinds of butter at once

oblique meadow
#

Yes

ornate locust
#

Perfect

oblique meadow
#

It’s like a cheesecake

#

But with butter

#

(Although a cheesecake is technically a pie)

ornate locust
#

A Paula Deen original

drowsy pewter
#

everything butter

oblique meadow
#

I was looking for a gif for butter…. And I just saw the weirdest one I have seen in a while

#

If I have to see it so do you

ornate locust
#

wh

raw compass
#

Is, uh... is there any special reason XNBExtract would be skipping Data/Locations? It unpacked (most of?) the rest of the files....
Running it from a proper command line isn't helpful (no error messages to report)

drowsy pewter
#

!unpack

ocean sailBOT
#

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

drowsy pewter
#

use the stardew-specific extracter!

#

extractor

raw compass
#

Okay thanks, I guess I must've downloaded it so long ago that I didn't realize we changed programs 😅

slow basin
#

OK I need some opinions rq if anyone is free

#

my card collecting mod I wanna utilize buttons museum framework for the submitting them to a collector thing, but idk if I want to work on that rn as im not a good architect and am still practicing that bit, do you think I should release my cards with just the collection part done for now or should I wait and release it alltogether

uncut viper
#

i dont think i can give an unbiased opinion

#

option 2 sounds good to me SDVpuffersmile

slow basin
#

🙂‍↕️

uncut viper
#

but also, initial rerlease is when youll have the most eyes on it

oblique meadow
#

If you don’t wait. What’s the purpose of releasing part 1 standalone? I feel like maybe it would feel unfinished

slow basin
#

mm I see so I might wait

#

Ig ill build the collection area first

#

😩 i just wish I was better at making architecture

oblique meadow
#

You get better by doing and practicing

slow basin
#

true

#

i guess ill do some design doodles in between doing the card stuff

indigo yoke
#

how would I subscribe to a field change event if the netField is private?

brave fable
#

reflection, naturally

uncut viper
#

or a publicizer SDVpuffersmile

lucid mulch
#

I havent tried if the [UnsafeAccessor] stuff works on .net6

brave fable
#

e.g. Helper.Reflection.GetField<NetRef<Chest>>(farmhouse, "fridge").GetValue().fieldChangeEvent += (field, oldValue, newValue) => UpdateFridge();

indigo yoke
brave fable
#

frustrating that ItemBags doesn't define item bags as IInventory implementations, and doubly frustrating that Inventory doesn't include a constructor to set the initial item list

#

triple extremely final frustrating that vs doesn't let you view quickinfo tooltips while debugging for no good reason

drowsy pewter
#

fourthly frustrating that i am coffee less at this hour

calm nebula
#

Fifth - why am i awake

drowsy pewter
#

i dont know, why are you awake

hard fern
#

sixthly: aaaaaaa

obtuse wigeon
#

7thly: ItemBags supports regex, not a dig at ItemBags but certainly a dig at RegEx

brave fable
#

ah yes item bags don't actually define item data so i can't just get their inventory icons to use hghnjf

obtuse wigeon
#

Item Bags does have very lenient permissions (except monitization) make a fork of it and implement it yourself, 2 cakes and all that

brave fable
#

absolutely fucking not

#

ah yes you can't just consume the item from the item bag. it leaves a 0 stack item

obtuse wigeon
#

Wwww zero stack items! how fun!!

lucid mulch
#

I remember having Bad Times™ with item bags back in 1.5.6 and avoided them for my 1.6 playthrough

#

I think I did have caseys item satchels, which does straight up have a NetRef<Inventory> on them

obtuse wigeon
#

I have yet to experience anything bad with it (user facing at least) and I've used them a lot in my last 2 or 3 playthroughs, so it could've been a fixed in 1.6, I shall have to have a look at item satchels to see if they have auto deposit, probably wouldn't hurt to have both installed

lucid mulch
#

the 1.5.6 item bags kept emptying themselves on farmhands back in the day

obtuse wigeon
#

Oof ye I didn't think about multiplayer, that may be something I need to make sure doesn't happen for the item bags I made for it

lucid mulch
#

and the other problem was that I felt they kinda were loot confetti as well that upset the balance, I dont think we ever actually made or upgraded them, just gained the OP ones for free while mining or whatever

#

while satchels are explicitly shop purchase only that get upgraded

#

I don't mind bags being powerful, as long as I actually earnt and invested in them

obtuse wigeon
#

The innability to disable sizes entirely and stop them dropping from enemies is one thing I dislike about it

brave fable
#

i can feel myself both gaining and losing brain cells while reading the source

#

it's war in here

obtuse wigeon
#

After seeing it myself, do have fun, or else you may cry

lucid mulch
#

I think late 1.5.6 I used expanded storage stuff, but had to do custom builds to keep farmhands from crashing, and the deposit buttons stopped working iirc

lime maple
#

I have a genuine and probably dumb question

I'm editing a shopper, and so I thought that maybe I could add every entry in a single pass

        {
            "Action": "EditData",
            "Target": "Data/Shops",
            "Priority": "Default+2",
            "TargetField": [
                "Joja",
                "Items"
            ],
            "Entries": {
                "Expanded.VanillaCropsSpring": {
                    "Id": "Expanded.ExpandedVanillaCrops",
                    "ItemId": "ALL_ITEMS (O)",
                    "Condition": "SEASON spring, YEAR 2",
                    "PerItemCondition": "ITEM_CONTEXT_TAG Target evc_shop_pierre season_spring",
                    "IgnoreShopPriceModifiers": true
        },
                "Expanded.VanillaCropsSummer": {
                    "Id": "Expanded.ExpandedVanillaCrops",
                    "ItemId": "ALL_ITEMS (O)",
                    "Condition": "SEASON summer, YEAR 2",
                    "PerItemCondition": "ITEM_CONTEXT_TAG Target evc_shop_pierre season_summer",
                    "IgnoreShopPriceModifiers": true
        }
      }
    },

is this doable or should I put each one of them on its own entry

I'm asking this because the mod I'm using as a reference use multiple Action EditData entries

brave fable
#

the structure looks good to me SDVpufferthumbsup ALL_ITEMS (O) is going to cause some kind of earthquake in your pc though

#

other than the missing backpack icon and 0-stack remaining items, item bags is at least usable

lime maple
#

this is how all my other installed crop mods (from other authors) do btw, oh that is why my pc goes nuke with them lol

gray bear
#

tater

lime maple
#

is there a better way to use instead of ALL_ITEMS (O) ? @brave fable

drowsy pewter
#

You're probably using cornucopia's code

#

How many crops do you have? Cornucopia only does that because theres like 100 items and the list is dynamic depending on config options

brave fable
#

well it depends on your usecase. ALL_ITEMS (O) will return every single object in the entire game

#

filtered by your PerItemCondition of course

lime maple
#

25

drowsy pewter
#

I dont really know performance impact so refer to blueberry on that

lime maple
#

yeah, Cornucopia is being my reference lol

drowsy pewter
#

By the way, did you see SinZ's followup about winter leaves on fruit trees? Because I think you might be using the fruit tree spritesheet size wrong

brave fable
#

i don't either, but while it's preferable to reduce the amount of rewriting item IDs in your content file, you can imagine it's far better to simply fetch your 25 item IDs manually, rather than fetching and filtering through possibly thousands of items with dozens of context tags each

lime maple
#

that is the size I'm using for the tree

drowsy pewter
#

That seems right

lime maple
#

I removed the offending pixels and 🙋‍♂️🐛

drowsy pewter
#

To be honest I havent had complaints about shop entry performance on cornucopia, but maybe nobody noticed it

lime maple
brave fable
#

well in the grand scheme of things it's a stutter at most when they open the menu

#

it's only fetching them all when the shop stock is refreshed, of course

#

but i'd probably just list the item IDs out

#

i'm not a Performance Guy, which is why i'm busy writing a dozen chained linq calls for my menu inventories

gentle rose
#

chained linq is performant in that whatever hell I would come up with otherwise would definitely perform worse

brave fable
#

i don't agree for most cases, but when i bring out Take.Select.OrderBy.ThenBy.ThenBy.ThenBy.ToList then all bets are off

gentle rose
#

most of mine are some variation of .Select.Where.Skip.ToArray

#

(yes I know it's terrible I will deal with it eventually)

lime maple
#

what I'm trying to understand is how can I chain multiple items with "ItemId":

can I pass an array?

gentle rose
lime maple
#

I know that I can use a Item Query, but in the wiki documentation page it is not clear how and if I can retrieve a list of ids

brave fable
lime maple
#

lol twins

brave fable
#

somehow i'd imagined it was possible lol

#

well since it's apparently not, carry on ☀️

lime maple
#

behold ALL (O) SDVpufferban

#

maybe if I could create a flag, but I don't think I can

brave fable
drowsy pewter
#

@lucid mulch Can confirm that trees in winter draw leaves from this area explicitly only when being chopped down, and only when the fruit tree sheet is the "proper" width--432 px. If it's one pixel wider, 433px, it will draw from the last column of pixels, and therefore not overlap with the fall leave sprites. This is why mango tree has that bug. I believe that you counted the width of the fruit tree sheet incorrectly, as the fruit tree tilesheet displays as 432x wide in my art program, as well as divisible by my 16px tile grid.

gray bear
#

just to be sure since im on the wiki but wanted to double check, this condition will check if the player has VPR or Earthy and only apply when neither are in the mod folder?

drowsy pewter
#

So anyone who wants to make their fall leaves larger than normal, should actually make the sheet 433 px wide lol

#

Oh pathos fixed it anyways lol

#

Nevermind then

lime maple
#

what?

#

there is a fix for the tree sprite?

drowsy pewter
#

There will be in the next game update (?)

lime maple
#

ic

slow basin
#

i have inputted 290 items

#

aaa

#

that means i have

#

counts fingers

brave fable
#

290 fingers

slow basin
#

198 left

#

lol

gray bear
#

that's a lot of items

slow basin
#

yea lol

#

it didnt feel like a big mod when i was making it and i still dont feel like its huge

#

but it adds a quite a few items lol

gray bear
#

quite a few they say

slow basin
#

XD

warm field
#

Vendor of blue rectangles? Oh wait, I just saw the animation. May I ask what the blue thingy is?

#

Question before I get home and can start fiddling with it again.
So I made myself half a dozen new paths (that I don't wanna share just yet), in an image file with a 3x2 grid of 4x4 path tiles each, 16x16 pixels for each tile, like I've seen other mods do.
I then told CP to
"Action": "EditData",
"Target": "Data/FloorsAndPaths"
with basically copy-pasted values from the game's own stepping stone path (because it uses "ConnectType": "Random"), and adjusted some values like sounds and, of course, "Corner" for each path's upper left corner coordinate in the file.
Now, how do I tell CP and/or the game where each path's tile grid ENDS?
Because essentially, it's randomly putting ANY tile from the left 4 (2x2) paths ...

#

It's kinda funny but not exactly what I wanted 😄

obtuse wigeon
#

I made a path mod, give me a sec to have a gander at it and I may be able to help

#

I'm abit confused by what you mean with "how do I tell CP and/or the game where each path's tile grid ENDS?", are you saying it uses the left most 4 tiles randomly?

#

Would help if I highlighted the tiles I'm talkling about

warm field
#

Of this thing that you just posted, I have 6 in the file, 2 rows, 3 in each row

drowsy pewter
#

It's because the stepping stone path randomizes tile usage

warm field
#

I'll see if I can draw what I mean

drowsy pewter
#

if you want one with a definitive path you should copy one of the flooring values instead

obtuse wigeon
#

That's waht my next guess was gunna be 6480 bahaha

drowsy pewter
#

you can either have definitive start and stop, or you can have randomized tile placement, but you cant have both

#

If the problem is anything other than what I stated tho, its probably better to wait until you can show exactly your images for your paths

#

since otherwise it's very difficult to troubleshoot with words alone

warm field
#

So, if this were my file, with 6 paths with 16 slightly distincts styles, of which the blue and the purple ones use Path and the others us Random, for some reason, the game places tiles from all 4 non-greyed paths on the left

#

when picking the yellow path (yes, it's "Random", but it should place a random YELLOW tile and none of the ones to the left)

drowsy pewter
#

Yeah you should send your actual tilesheet, an image of the problem ingame, and also your code

warm field
#

I checked the IDs over and over and over and there's no mismatch or overlap ...

#

ach blech ... when I get home then ... I was hoping this was already a common knowledge thing that I just missed ...

edgy parrot
warm field
#

Just to make sure: X is the horizontal index and Y the vertical one, yes?

drowsy pewter
#

Yes

#

The top-left pixel position for the sprite within the Texture spritesheet, specified as a model with X and Y fields.
In this case it would be 128, 64 for the yellow path

warm field
#

Texture has an index?

drowsy pewter
#

data model calls it Corner

warm field
#

Oh. Yay math, you just solved my mystery!

#

Thanks 😄

#

Math after midnight: no good

#

Corner for the 2nd path should then be 64 / 0 and not 16 / 0 - that was my mistake (and so on)

drowsy pewter
#

yeah

lucid mulch
#

so I rounded up to saying it was 433 pixels wide because well, there is 1 more pixel than the 16 multiple would suggest

drowsy pewter
#

maybe it was rounding imprecisely

#

But yay its getting fixed!

warm field
#

Round pixels, revolutionary!

lucid mulch
#

note that its a somewhat of a mute point, fruit trees dont randomize between the 4 leafs and always renders the top left variant which is 8x8

#

so theres never an actual reason for the fall leaf to overflow into the mythical winter region, and that overflow wont render in fall

drowsy pewter
#

really

#

That's such a scam

lucid mulch
#

that being said, getting it fixed for 1.6.16 was fairly easy as the vanilla mango tree has the exact bug

#

didnt need a mod to reproduce it, vanilla did it for me

#

might have been possible regardless, but vanilla facing bugs are higher priority than theoretical bugs that only mods hit

drowsy pewter
#

Well honestly I'm surprised they didnt find/fix it earlier lol

#

I think I remember that being weird about the mango tree

lucid mulch
#

wont be a bug in ginger island

desert light
#
      Vector2 position = this.character.Position;
      this.moveCharacter(time);
      if (this.character.Position.Equals(position))
      {
        ...
      }

I'm looking into the PathFindController class in the decompiled code (StardewValley.Pathfinding namespace) and see this excerpt in the update method. Am I stupid or is that if statement always going to resolve to true? the position var is defined two lines above as the exact same thing. If I'm correct, is this a decompilation artifact of some kind or something else.

lucid mulch
# drowsy pewter maybe it was rounding imprecisely

Ok I looked at it again looks like I did actually miscount, my makeshift ruler had its markers on odd instead of even which threw me off, a different one made from 8x8 boxes correctly shows it fine.

Guess monogame draws one pixel inbounds if the rectangle entirely is out of bounds of the texture

warm field
#

so not a rounding error but a bounding error 😄

lucid mulch
#

Though I think pathos's fix will be correctly not doing leafs in winter avoiding the core problem

iron ridge
desert light
slow basin
#

SDVpufferdead 320 implemented now
im so close to being finished

#

just like 168

#

im realsiing the reason it was so tiring was i was like stuck on a section 4 like ever

#

now that im knocking out little sections its a breeze

lime maple
#

Ok, I have fully migrated my crops to content patcher! That is so awesome!

drowsy pewter
#

Yay!

lime maple
#

next thing is add the recipes for creating seeds

errant elm
#

Hi! I'm really new to modding from scratch. I want to create my own fanfiction mod 🤣 i plan to include dialogue option and CG art for the cutscene. Do you guys know where i should start?

lime maple
#

how to check for skill? I tried Skill Foraging 5 but it is saying 'Skill' isn't a known query or alias.

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.

lime maple
#

I'm going to use the GQ PLAYER_FORAGING_LEVEL current number

royal stump
slow basin
#

i just have 96 items to go (i cut some out because they didnt make sense to have)

warm field
#

Always good to realize that early 😄

#

96, you're almost there!

slow basin
#

hmm i definitely made more cards then there needed to be mostly for fun it seems

#

there are several cards that wouldnt make since to have but i might add later as a addon i think 339 cards is enough lol

#

oop forgot iridium ore and junimo card make that 343 card

warm field
#

Special collectibles - that sort of never-produced prototypes IRL usually fetch the highest amounts of cash among collectors 😄

slow basin
#

XD

slow basin
#

yoo step one is done now to hunt down how to add these to a loot pool and have them randomly grabbed

#

i think theres a mod i can use =_=

lime maple
#

is it possible to make a seed one time only purchase?

nimble marlin
#

@vernal crest Hi Abagaianye! I was wondering, by any chances you know if there is any way to make a moving light source during events? I was also curious to know if theres any way I could move a temporary sprite to a specific location? 'motion' makes temporary sprites move but they never stop, so I'm not able to move a temporary sprite from point A to point B and from point B to point C (for example)

vernal crest
#

I haven't done anything with light before so I don't know off the top of my head and I'm out right now so I can't investigate easily, sorry.

For the moving sprite, I would try removing that one and simultaneously adding a non-moving one and see if the swap is noticeable. If it is, I'll try finding another option for you tomorrow.

nimble marlin
slow basin
#

i think im gonna go see how the labubu mod did their blind boxes that it says it has in the desc to see how.if they managed to do it (im goin a lil blind lol)

#

dead OH maybe i can get it to work like a geode

#

is it possible to get an item to randomly give you an item like a geode through content patcher?

humble timber
#

i feel like it is

warm field
#

Geode contents are predictable though, at least in vanilla

humble timber
#

but not sure how the best way of doing it would be

dusky sail
#

hold on i might know this one but i wanna fact check myself before i spew falsehoods

slow basin
#

:>

#

any help appreciated

dusky sail
#

ok yeas you can just do it in object data even

#

this is vanilla's normal geode for reference

slow basin
#

oo

dusky sail
#

you'd just wanna look up and look into the geode drops field

#

but this could end up making it require clint to open it

slow basin
#

yea id like it to be where you can open it yourself but idk how to do that 😔

dusky sail
#

oof. that one i dont know

slow basin
#

yea

#

so ill prob have to settle for clint opening it lol

warm field
hard fern
#

clint's the guy you go to to get everything opened

#

geodes, mystery boxes,... probably the pickle jar too

warm field
#

and the lucky purple pants

slow basin
#

haha

hard fern
#

but like imagine the look on clint's face when the farmer pulls up with a handful of golden coconuts lmaoo

warm field
#

and then fashions a hat out of one of them ...

calm nebula
#

Someone should make that mod

#

Just a pickle jar you have to get Clint to open

dusky sail
#

We are singlehandedly keeping clint employed with the opening stuff

slow basin
#

fr fr

calm nebula
#

(My hradcanon is that he also does horseshoes)

slow basin
#

ooh ooh oclarina where did you go to find that geode vanilla data like did you go in game files? or is it listed somewhere

warm field
#

looks like objects.json

slow basin
#

wait maybe i found that ifno on objects

#

XD

humble timber
#

ye its objects

slow basin
#

HM

#

how doth one make an item a geode

#

i gotta do research

dusky sail
#

Yeah i love poking around in my unpacked files to learn things

warm field
#

Who knows, it might already be enough to give it GeodeDrops-related properties ...

ornate trellis
slow basin
#

THANK YOU

#

man gotta figure out what its tellin me my brain is mush

shut edge
#

you could probably make your own machine that unpacks them too if that's any better than clint

#

i was trying to make cookable things that inherited flavor colors but apparently that's only something machines can do

#

so i'm like hmm do i make some kind of jelly applicator machine

opal hull
#

So I'm gonna make an NPC mod, and I want their house to be in Cindersap. I was thinking of making a path in the bottom treeline near Hat Mouse's place. I know that Cape Stardew has an entrance near there, that SVE adds a warp point to the junimo village in the area, and that Wildflour's Atelier Goods can also place a warp in the vicinity, but are there any other mods that change that area?

warm field
latent mauve
#

Cindersap Forest is honestly one of the more difficult places to put houses, if I remember right. Doesn't SVE completely overwrite the forest map rather than just adding a warp point?

#

I don't remember if SVE messes with the vertical height of the map all

obtuse wigeon
#

SVE does completely change the map, I'm pretty sure it touches the height

royal stump
#

looks like vanilla and SVE's Forest are both 120x120

tiny zealot
#

(most of lacey's patching outside of the mouse house is stuff like relocating bushes and changing grass tiles)

#

honeyfuggle also has a tent in that area, just northwest of hat mouse

somber canopy
#

I'm making a farm map with a content pack, how do I get this section of the map to change with the season? Ik I need to draw an appropriate season, idk where to plug it in

opal hull
royal stump
#

(I think _spring also technically works, but if the current season doesn't exist, it uses the basic name)
actually nvm, it avoids that

tiny zealot
#

oh esca, thanks for that. i was just about to ask if the game automatically appends the season because it wasn't clear just from inspecting the unpacked files

royal stump
#

SDVpufferthumbsup I had to dig around a bit because it's not mentioned on the wiki, but yeah, MapArea.GetTexture looks like this

if (Game1.season != 0)
{
    string seasonalName = assetName + "_" + Game1.currentSeason.ToLower();
    if (Game1.content.DoesAssetExist<Texture2D>(seasonalName))
    {
        return Game1.content.Load<Texture2D>(seasonalName);
    }
}
return Game1.content.Load<Texture2D>(assetName);```
somber canopy
tiny zealot
#

it is a bit cursed that season tilesheets work by prefixing, but world map textures work by postfixing. ah well

lucid iron
#

Brb making something seasonal work by infix

calm nebula
#

Look, this is the way it works

#

I'll just take the hash code of the string and then take the modulus

#

And map that to season codes

ionic crown
#

There's a patch of land by the greenhouse spawn 3 or 4 tiles that I catch place buildings on. is there anyway to fix this, like an exploit or mod I can use or something?

royal stump
#

SDVpuffersquint also nexus compression really ate that first image at some point

blissful panther
#

(That's... new.)

royal stump
#

ah, yeah, I ublocked that immediately SDVkrobusgiggle
looked very obtrusive and it's poorly filtered from what I've heard

blissful panther
#

Huh. Content Patcher is apparently in 1,890 collections. And there are 1,990 colledctions for Stardew.

#

How on Earth are there 100 collections that don't have CP?

royal stump
#

probably QoL packs, I'd guess
(though CP's useful even then)

fossil osprey
#

I'm gonna guess cursed xnb things, and maybe some FS/AT only packs?

blissful panther
#

Good thinking on all accounts there, yeah.

lucid iron
#

Can u have collection that depends on another collection

royal stump
#

it doesn't seem like it, but I don't think I can even check without vortex or w/e

obtuse wigeon
#

Don't think so

#

maybe they're listing CP as an external source from curse or sommat

royal stump
#

probably the least useful feature I've ever added, but it's fun

shut edge
#

something will probably justify it to me at some point

slow basin
#

i awake

#

now it is time

#

time to make homemade geodes

gray bear
#

rock rock rock!

slow basin
#

step 1 figure out how to make something act like a geode, ⛏️

#

oh wait leme try something

#

ys my stardew folder crashing constantly

#

file explorer pls

warm field
#

Is there a limit on tokens one can use in a single string? I've run into a snag again, the game won't find my "translations" ... (by which I mean, not even the i18n/default.json)

#

Objects.json starts like this:
{
"Changes": [
{
"LogName": "Add item {{logNameToken}}",
"Action": "EditData",
"Target": "Data/Objects",
"Entries": {
"{{ModId}}{{itemNameToken}}": {
"Name": "{{ModId}}
{{itemNameToken}}",
"Displayname": "{{i18n:{{ModId}}_{{itemNameToken}}Name}}",
"Description": "{{i18n:{{ModId}}
{{itemNameToken}}_Description}}",
...
and the game just shows me "no translation" and the fully qualified name (like myname.modid_itemname_Name)

lucid iron
#

!json

ocean sailBOT
#

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

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

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

lucid iron
#

There's no limit to token use but there is a possibility that your itemNameToken is unready

#

Since u actually got no translation then double check if u actually have this key in the i18n

slow basin
#

fixded it

#

just needed to restaert comp

warm field
#

the keys are all in there, I compared them numerous times letter by letter

#

I give up, I don't need translations or orange name

hallow prism
#

if you want to not give up, can you provide

#

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

hallow prism
#

!json would be great too

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.

slow basin
#

upside its working

#

downside i have to put all 340+ items in the pool manually

brittle pasture
slow basin
#

huh

#

ok

#

i had no idea lmao

#

this is all info thats gonna make my next collection mod sm easier as well

#

im thinking of making a album collection thing but idk if it should be references to real albums or just fantasy made up ones

brittle pasture
#

jojo style
“Filthy Acts Done At A Reasonable Price”

indigo yoke
#

SDVpufferchickcry
I feel like this has grown out of scope of what I wanted just due to asking the question, "What if the player has an infinite level scaling mod?"

slow basin
#

omg

#

im done!

#

now to take a break and then design a card store

lime maple
#

what is the width of a tree segment, for a tree sprite?

nvm it is 48px

oblique meadow
#

Is Buff Framework still necessary for custom buffs? Or is there a better way these days?

brave fable
#

are you using C#? if so, you can simply add a basic buff in the usual data model and handle your behaviours elsewhere arbitrarily as you like

oblique meadow
#

I am not unless I have to

brave fable
#

ah, then you're quite limited. what's your goal?

#

buff framework is pretty flexible iirc but i've never needed to use it

oblique meadow
#

I’m using unlockable bundles and want to give farm specific buffs for completing certain bundles

gaunt orbit
#

If I wanted to add a parrot merchant who can build buildings for you, should I make that a separate mod from my buildings mod or make it one mod?

Pro is fewer dependencies, con is that if anyone else wants to use that builder, users have to install all my buildings too

oblique meadow
#

Combine it. Make it a Wren exclusive

lucid iron
gaunt orbit
#

all kinds of things! just a bunch of ideas I had for buildings. Mostly c# stuff. Some examples of things that are already in it at least partially:

  • lightning rod building that catches unlimited strikes
  • magic pond that can be fished from which acts like magic bait
  • building which boosts fertilizer effects to nearby crops
  • beehive building that produces honey for all nearby flowers
  • mass-storage building with multiple tiers
  • totem building which provides unlimited scarecrow coverage
lucid iron
#

i think u should include the parrot with ur buildings mod Dokkan

#

to tie it all together

uncut viper
#

id agree

tender bloom
#

is there a way to make a machine recipe require a specific flavor of a flavored item?

#

i looked through item gsq but did not see

#

but maybe I missed something?

rough briar
#

im not sure, i cant think of any mods that add recipies using flavored items as ingredients

tender bloom
#

wait maybe i figured it out

#

context tags

brave fable
#

could it be. you're getting closer to releasing your expansion...

vernal crest
#

@ivory plume Please may I be invited to the repo again? I didn't get to the invite email in time after the swap to StardewModders :( Abagaianye on Github too

ivory plume
#

Done!

vernal crest
#

I'm in SDVpuffercool

tender bloom
#

i'm probably going to just make the npcs stand there tho

#

i've decided that i enjoy machine recipes and i do not enjoy npc making

#

tbd if this changes

lucid mulch
#

Makes sense

tender bloom
#

also ??? on friendship-unlocked recipes but that's a problem for future me

lucid mulch
#

if i was going to do content, it would also be machines/logistics and not npcs

#

shared spaces I think is my closest mod to content

tender bloom
#

note that "closer" currently means "the location does load into the game and there are some items"

brave fable
#

as much as i like drawing the characters and giving them a little world to live in, actually scripting them is a whole different percolator of fish

tender bloom
#

such tribulations as:

  • portraits: grueling
  • sprites: i am not set up to animate
  • schedules: i cannot be bothered to watch them walk around for days on end
  • events: terrible
brave fable
#

giving them interesting and unique in-character characterisation is probably the real killer

tender bloom
#

i think i could stretch myself as far as gift tastes

#

that seems realistic to add

tiny zealot
#

thinking about a mod that adds a fish percolator

brave fable
#

what a bizarre thing to think about

tender bloom
#

is that like a fish ladder

#

speaking of inching closer to being done, blueberry i have a mystery rice cooker sprite lying around you might recall

#

do you have feelings about it?

#

i also have a less-mysterious sprite that i must have drawn

tender agate
brave fable
#

i feel nothing 😌

tender bloom
#

that's very zen 😛

brave fable
#

but really my endless mod is on hold while i update my mods-in-need and catch up on work

#

i mean it's permanently on hold, but moreso

tender bloom
#

that is not too far from how mine has been

#

i am skiving off work to work on mine (in the sense that my job is the all-encompassing kind, not in the sense that i am literally taking days off)

#

(i both do and do not get days off)

brave fable
#

the hardest part is writing characters i don't care about but still need to include SDVdemetriums

#

the next hardest part is making furniture. a lot of furniture. furniture that looks good

tender bloom
#

i am cheerfully including 0 furniture

#

i'll just tell people to install lumi's furniture packs for all their furniture needs, or something

brave fable
#

thing is i can't actually use clothing as an unlockable feature anymore, i've sort of done it all for the other moon mod hahah

#

there's absolutely nothing left

tender bloom
#

tragic

brave fable
#

best i could do is probably add new behaviour to the clothing mod when the other is installed to make it blend better with actual progression, but that's so far down the line it's vanished over the horizon

brave fable
#

unfortunately long artemis does not look good

#

but he does contribute to a lot of furniture

shut edge
#

oh no i've learned of another kind of toaster

teal crest
#

excuse me, Is it possible to set up warp using the "setSkipActions" function in the events?

#

I want to set back player into starting place while ChangeLocation

#

ok, never mind. I notice change location won't change places outside the event

brave fable
#

how do you two remember this

hard fern
#

The hell is a fish percolator

deep plume
#

who doesn't remember the fish in the percolator

#

a twin peaks classic

lime maple
#

Hey guys, I want to implement rules for Seed Maker and my mod (I provide an item and it results in a seed from my mod).

I'm already reading https://stardewvalleywiki.com/Modding:Machines to know what I need to do, but at the same time I'm a more practical guy, is there any mod that uses CP and Seed Maker that I could use as reference?

#

Thank you in advance!

drowsy pewter
#

seedmaker rules are automatic

#

if you want it to be different from vanilla, ie give saplings for a fruit tree, then you'd manually add them

#

but just for crop seeds you dont have to do anything

lime maple
#

is there an example?

#

and how do you mean by automatic? if I create a crop, the seedmaker rule is already embedded with it

drowsy pewter
#

yes

lime maple
#

but in my case well

#

I'm working with vanilla items lol

drowsy pewter
#

I dont know what your mod is, you're going to have to explain it more

lime maple
drowsy pewter
#

So yes it will work automatically

#

Test it out

lime maple
#

I used to use Producer Framework

#

omg that is amazing

#

ok, I have an issue, Common Mushroom and Spice Berry produce respectivelly, Fall Seeds and Summer Seeds

#

is there any way to add a rule that uses a fuel?

drowsy pewter
#

you can but you'd need another framework and it would be a little complicated

#

Let me look into that issue a sec

#

I believe that the Fall Seeds and Summer Seeds part might be hardcoded, ie even if you add a manual rule for the seeds, they still may not take precedence over the fall seeds/summer seeds code

#

As the code for that isn't accessible in the Machines data file

#

If you're attached to the fuel idea, you'd need Extra Machine Configs to make it work

#

but keep in mind that if there's a rule that takes the item + fuel, and another rule that takes only the item, you might get weirdness

lime maple
#

what do you suggest?

drowsy pewter
#

for the fall seeds issue?

#

To be honest I'd give up lol

#

@brittle pasture Do you have ideas?

ornate locust
#

maybe you can like... just make a recipe with fall or summer seeds to make the seeds you want?

#

Not really a solution, but if all else fails, a workaround isn't impossible

lime maple
#

I'll try to add a Machine rule and see how it goes

brittle pasture
#

SDVpufferlurk you can add your manual rules as long as you make sure they’re above the generic seed maker rules

#

mushroom to fall seeds is ‘hardcoded’ in that Data/Crops has the fall seeds defined as dropping mushrooms, so you get fall seeds when you put mushrooms

drowsy pewter
#

oh i see, all the seedmaker code is just bundled under one rule

#

I was only searching the file for the specific item ids

lime maple
#

not only mushoroom, Spice Berry, Winter Root and Wild Horseradish

brittle pasture
#

on the other hand you might get complaints from people used to the vanilla recipes (unlikely but still)
I guess you can go 50/50

brittle pasture
#

MoveEntries

#

I’m like 50% asleep someone else have to link it

drowsy pewter
#

I can't find a mod that adds a rule to the seedmaker

#

However all machines are basically the same

#

you can use any basic machine rule as a template

#

Just refer to vanilla data/machines file for the seedmaker id and etc

#

I'm going now

lime maple
#

so I use moventries to the very top (using the id of the rule

#

how do I add chance to the machine output?

brittle pasture
#

if an output item list has multiple entries by default it’ll pick one at random

lime maple
#

RANDOM_ITEMS (O) WildHorseradish_Seeds 770 495

well, this does not work lol

brittle pasture
#

that is definitely not how you format it

lime maple
#

how do I get the id from my custom item to put in the random_items

brittle pasture
#

OutputItem is a list, you can add multiple entries to it
or you can just use RandomItemId if you don’t need much control beyond equal chance randomness

#

[[Modding:Item_queries]]

brave fable
#

just use the key you used when adding it to Data/Objects

#

e.g. {{ModId}}_MyFunnyItem

brittle pasture
#

use the RandomItemId field

lime maple
#

"ItemId": {"RandomItemId": [ "(O)388", "(O)390", "(O)206" ]}

like this?

brittle pasture
#

no

#

RandomItemId is on the same level as ItemId

#

basically you use one of ItemId or RandomItemId

lime maple
#

so instead of ItemId, I just use

#

yes

drowsy pewter
#

your item id is not WildHorseradish_Seeds is it?

lime maple
#

no

#

"ItemId": "(O)WildHorseradish_Seeds",

I managed to make it work

#

another dumb question, the seed maker takes 20min ingame to process seeds?

drowsy pewter
#

? that says your item id is what I asked about

#

I'm asking because any custom items you make should really have an id that starts with your full mod id

lime maple
#

I mean, sorry, it is past my sleep time

#

so, it is the item id

drowsy pewter
#

I would suggest changing all your item ids when you work on it again tomorrow

lime maple
#

oh, I'll I'm just testing it right now

#

they will be prefixed

drowsy pewter
#

ok

brave fable
#

good habits start early 🪺

lime maple
#

I know, all the new rules have been written with prefixing, moving away from JA already took me a toll and two sleepless nights

slow basin
#

GUYS aSDVpufferchickbounce

#

i finished the second part of me doing art for my mod

#

now i just gotta make maps in tiled and code it yippeee

#

!map

#

!maps

#

dang

#

😔

urban patrol
#

[[Modding:Maps]]

slow basin
#

oh thank you

#

also does anyone know off the top of their head a good sized map size thats small but covers the screen with not weird black outside?

urban patrol
#

my advice is not to start from scratch, make a copy of a vanilla map that feels about the right size and then edit that

slow basin
#

aah gotcha

#

stares at buss top

urban patrol
#

you can't control what size screens or what zoom level people play at so it's futile

slow basin
#

dang 😔

#

well at least the bus stop is a good size lol

brave fable
#

i will look at your map in 4k fullscreen at 25% zoom and there is nothing you can do about it

slow basin
#

literally switching the road with the path for the cardshop map and making a couple changed and its perfect

slow basin
#

finishes one map
"oh yay im do-" realizes I need several more

vernal crest
slow basin
#

tru i should probably test it

vernal crest
#

It's easy to make mistakes with map making and some of them are unsalvageable so testing as you go can save yourself a lot of work.

brave fable
#

just another fine reason to quickly setup git on your project so you've got a change history

vernal crest
#

True, although I was thinking of situations where people have accidentally done the wrong thing with their map right from the beginning and have to redo the whole thing, but because they didn't test early enough they also have 3 other maps with the same problem, etc.

#

(Not that I would ever argue against setting up a git repo early in the process)

urban patrol
slow basin
#

ok i finished the first map i think i had some thing to change now i test

#

then i make inside room

#

i need space for 343 items

#

😩

urban patrol
#

at least it divides nicely! 7x7x7

slow basin
#

hmm

#

i named my map Cardshop in the save so would the tolocation query be "{{ModId}}_Cardshop"?

vernal crest
#

What is a tolocation query?

slow basin
#

i think thats what its called its from the central station mod but i thought it might be used for warps and such sorry

#

im looking through the github rn but thought id ask

vernal crest
#

For warps, you use whatever id you gave it in the Data/Locations entry

slow basin
#

omg

#

i think i forgot to load the map

#

:L

vernal crest
#

You will need a Load patch for the map file and an EditData patch of Data/Locations to create the location for the map to go into

slow basin
#

would i find that on the modding maps wiki page?

vernal crest
#

Don't bother creating warps to get to the map at first, you can just use debug warp <map name> to warp there

vernal crest
slow basin
#

ooh ok thank you sm

indigo yoke
#

@brittle pasture apologies for the ping but I have a request for Extra machine framework (also double sorry if this is possible already).

A way to extract the flavor from the item.

random example to help explain what I mean:

I have machine A. I input Ancient fruit wine. I get out Ancient fruit.

Also I think I found a bug. When copying over flavor items Selph, it seems to only create 1 despite the stack saying to create multiple.

drowsy pewter
#

I wonder if thats already possible in vanilla machine data with evil item query methods

#

for example RANDOM_ITEMS (O) DROP_IN_PRESERVE

#

I want to try it out but I'm not on my computer lol

slow basin
#

can i edit the loot tables of fishing, trashcans, and monster drops through content patcher?

#

i wanna add a percent chance to get my booster pack from it

lucid mulch
#

yes, maybe, no(in 1.6)

slow basin
#

mm i see

#

ill add it to a store and edit the fishing table then

#

would that be in fishing data?

lucid mulch
#

data/locations

#

you would be following the similar path fishing uses for trash or the unique items

slow basin
#

hm i do not understand what im looking at lmao

#

im gonna try something to see if it works 🪑

#

i think i figured it out

#

now to fish for fifty years to check

fossil osprey
#

Make it 100% chance temporarily so you don't have to fish forever

slow basin
#

fasir

lucid mulch
#

also I would patch export it and check that nothing unconditionally 100% is earlier than it

slow basin
#

hm im not sure i inputted this right

#

can i send my json

#

im not getting any errors but im also not sure how to make it 100% possible to catch the items im trying to catch

#

so idk what to do besides share json lol

drowsy pewter
#

yes

slow basin
#

oo it found soem errors let me fix them and then try again rq

#

ok i got stuck

#

the part im having trouble with is near the bottom

#

i think its around line 12844

slow basin
#

i cant seem to figure out what to do here lmao

#

im gonna dig around more for info while i wait

#

i just realized how long ive been up working on this no wonder everyones silent, yall are all asleep lol XD

drowsy pewter
woeful lintel
#

Oh god, I'm coming back to FF after 2 months, and I hate myself for leaving in the state I did:

Failed loading asset 'content.json' from SMAPI/leroymilo.furnitureexample.ff: an unexpected error occurred.
 ---> Newtonsoft.Json.JsonReaderException: Can't parse JSON file at /mnt/ext4_data/SteamLibrary/steamapps/common/Stardew Valley/Mods (dev)/Example Pack/content.json.
Technical details: Object reference not set to an instance of an object.

That's basically all the info I have for debugging...

indigo yoke
drowsy pewter
#

Lmfao

#

well i tried to respond before you did something like that but no dice i guess

indigo yoke
lucid mulch
# slow basin i think its around line 12844

that last patch isn't valid content patcher, and rather than setting action to editdata, having the target, etc you set it to what looks like the contents of an Entries value.
though you would want to use TargetFields to be as narrow as possible to solely inject into artifact spot table and fish tables, rather than delete whatever location you were intending that to patch

#

and all the empty array, false and null fields can be removed for brevity as they are all defaults

slow basin
#

ohhh

#

im a little confused on how to write out what im trying to do D:

lucid mulch
#
 {
    "Action": "EditData",
    "Target": "Data/Locations",
    "TargetField": [
        "Summit",
        "ArtifactSpots"
    ],
    "Entries": {
        "FlashShifter.StardewValleyExpandedCP_109": {
            "Id": "FlashShifter.StardewValleyExpandedCP_(O)109",
            "ItemID": "(O)109",
            "Chance": 1
        },
    }
},
{
    "Action": "EditData",
    "Target": "Data/Locations",
    "TargetField": [
        "Farm_Standard",
        "Fish",
    ],
    "Entries": {
        "FlashShifter.StardewValleyExpandedCP_Minnow": {
            "Id": "FlashShifter.StardewValleyExpandedCP_Minnow",
            "ItemId": "(O)FlashShifter.StardewValleyExpandedCP_Minnow",
            "Condition": "LOCATION_Season Here Spring Summer Fall",
        },
    },
}
#

where Summit, Farm_Standard and the specific details of the items are adjusted to what you want ofc

indigo yoke
slow basin
#

OOh

slow basin
#

is summit like the location you can find the items?

#

if so is there a way to make them found everywhere without naming every map or no?

lucid mulch
#

use the default location

slow basin
#

the default location?

lucid mulch
#

there is a location called Default that the game uses for global artifacts/fish

slow basin
#

OH

#

ok let me test it now

tropic hare
#

Hi, I want to give a female NPC a name. I like the name "Icarus" and the story it represents. But this seems to be a male name. So I plan to make this name sound more feminine, such as: Icarow/ven, Icaria, or no changes at all? (English is not my native language, so if the changes are reasonable, or please tell me how to do it better.)SDVpufferwow

slow basin
#

oops caps

#

anyway got some yella text

dusky sail
#

modern english tendency would just be to name her icarus anyway

#

at least imo

drowsy pewter
#

It's true that a lot of modded npcs have more unusual names

#

Icaria sounds like a good option to me. Icarow and Icaven(?) are not english name endings that ive heard of before, so they sound gender neutral

lucid mulch
#

particularly before people got good at namespacing the internal id

slow basin
#

i keep getting an error related to putting it in wrong

drowsy pewter
#

If you name an npc icarus, the relation to the story would be very obvious, so it's up to you whether you want that to be obvious or not

tropic hare
vernal crest
slow basin
#

do i also put it in the itemid field? or is that something else i do

vernal crest
#

In the itemid field you have to put the item's id

slow basin
#

like whether its an object id or internal name id

vernal crest
#

The Data/Objects ID

slow basin
#

OOOHH ok

#

so in this case if the id is {{ModId}}_Boosterpack the ItemID would be Boosterpack?

vernal crest
#

No

slow basin
#

dang 😔

lucid mulch
#

if the id is {{ModId}}_Boosterpack then the ItemId would be {{ModId}}_Boosterpack

vernal crest
#

It would exactly what is in your Data/Objects entry

lucid mulch
#

preferably with a (O) prefix

vernal crest
#

Because the ID in Data/Objects is the item id

dusky sail
#

the header for the entry and the first "id" are the id for the action you are doing in the locations data. the itemid is the id for the item you already created back in your data/objects edit

slow basin
#

I am so lost im genuinely looking tn and have no idea

dusky sail
#

keeping them similar/the same helps keep you from getting confused though

slow basin
#

all i ahve is name: {{ModId}}_Boosterpack
Display name Booster Pack

vernal crest
#

Also, you only have to edit Data/Objects once to add add of these objects in. You don't need one patch per object.

slow basin
#

oh

#

so its (0){{ModId}}_Boosterpack?

#

also i didnt know that i thought it had to eb per thingy

vernal crest
#

That looks like you might have done a zero inside the parentheses? If so, replace that with a capital o, the letter. But other than that, yes, that is the item ID.

#

Also, your Targets for your Loads are all wrong, I'm afraid

slow basin
#

oo ok ty ty

#

😭

vernal crest
#

You can't put a file extension in a Target

slow basin
#

so remove the extra folder thing

vernal crest
#

Instead of this

{
      "Action": "Load",
      "Target": "assets/card1.png",
      "FromFile": "assets/Card1.png"
    },

it should look more like this

{
      "Action": "Load",
      "Target": "{{ModId}}/card1, {{ModId}}/card2, {{ModId}}/card3", // etc for the rest of the images
      "FromFile": "assets/{{TargetWithoutPath}}.png"
    },

That will let you load every single image in just one Load patch.

#

And then you will need to change your Texture paths to match

slow basin
vernal crest
#

Hmmm...with hundreds of images it's really going to be better if you combine them onto one or two big sheets and then use sprite index instead of having them all as individual images

slow basin
#

i do have a sheet

#

would i need to target each individual image on the sheet?

dusky sail
#

is it true that the more individual image loads you load the more lag or did i make that up and convince myself it was true

slow basin
#

or can i mass grab them

vernal crest
#

You would load just the one image and then you would change the SpriteIndex field for each object entry to point at the correct frame

slow basin
drowsy pewter
obtuse wigeon
dusky sail
#

ok neat SDVpuffersalute

slow basin
#

ill work on rewriting my content folder

#

😭

vernal crest
#

Should I change my advice to Candy then?

#

They have nearly 350 separate images right now

drowsy pewter
#

well its good to learn the good practice for making mods so i agree with your advice

#

but if something is like unachievable for someone then idk

dusky sail
#

i feel like sprite index is easier than 350 separate loads anyways but that might be more personal taste than fact

drowsy pewter
#

i also think its easier when you learn how to do it

slow basin
#

its not unachievable itll just set me back a few days work XD

vernal crest
#

I would agree except the loads are already all written

dusky sail
#

true

vernal crest
#

Although they are all the wrong Target anyway

obtuse wigeon
#

Are they all the same size? I made a tool for assembling images but I havent translated it to JS yet

vernal crest
#

Interesting that they did work in game though

dusky sail
#

but remember candy. even if its work you end up redoing, you learned in the process, so it's never wasted

calm nebula
#

There are online spritesheet mergers and it's a great time to switch to local tokens though

drowsy pewter
#

see its better to switch now than like 600 images later if thats going to be a consideration

vernal crest
obtuse wigeon
#

I know, but it was missing some features I wanted

vernal crest
#

I use them for converting AT mods to CP

#

Yeah this actually would be a good candidate for local tokens

#

Instead of a....13,000 line json

#

Wow Candy that's so much perseverance that you even have that much

slow basin
#

it was torturous

#

i wont lie

vernal crest
#

It took forever for the json validator to even load it lol

obtuse wigeon
#

I would've given up a long time ago, I'm impressed

calm nebula
#

I've joked that if I ever made an item mod I would start with arguing a templater into working

dusky sail
#

idk i kinda like typing the same thing over and over its meditative

vernal crest
#

13,000 lines worth though?

dusky sail
#

no just 2000 😔

vernal crest
#

I don't like anything that's difficult or tedious to read through later

#

Because if I come back to it and can't pay attention long enough to work out what I was doing, I won't get back into it

slow basin
#

Im taking a music break and then rewriting everything Meme_Sad_Cat_Thumbs_Up

dusky sail
#

i mean when i took too long a break from my mod and forgot how the code worked i just deleted it all and started over so 🤷‍♂️ i dont think anyone should ever take advice from me

vernal crest
slow basin
#

Ok

#

🙂‍↕️

drowsy pewter
#

yeah you can always come here for people to check your work

calm nebula
#

(Localtokens!)

drowsy pewter
#

especially when you're new to modding, a lot of times you wont know what the best way to do something is

vernal crest
drowsy pewter
#

yeah atra do you want to walk a new modder learning json through using localtokens

vernal crest
#

I will participate by providing the documentation and giving examples on request, but the rest of the floor is yours Atra!

calm nebula
#

Not really sorry

woeful lintel
#

now I get to debug actual errors with proper trace

spice sapphire
#

Hello! I have published twelve mods on NexusMods (you can see them here: https://next.nexusmods.com/profile/mahsouto/mods) and would like to apply for the Mod Author role. However, I am not sure whether I need to meet both requirements (having released original mods and reaching level 25) or if being eligible under just one of these (in my case, having released original mods) would also qualify me. Thank you in advance!

drowsy pewter
#

You need both, sorry

hard fern
#

Time t{ start chatting haha

spice sapphire
vernal crest
woeful lintel
#

That log message ain't looking good
Added Type [[ModID]].simple_test Who forgot to replace tokens SDVpufferclueless

#

ok, to be fair I did replace them in the object data, but not in the key of the dictionary that is holding object data

spice sapphire
humble timber
#

uh
well
many do not hold positive opinions of people who don't want to like. grab a screenshot or something. and instead choose to use genAI to make a cover/thumbnail

lucid mulch
#

I have two mods that have their images just be screenshots of the smapi console

hard fern
#

i drew a crappy banner that was more or less just a screenshot of text

spice sapphire
vernal crest
# spice sapphire Thanks for your response, but my mod content doesn't have AI, except where it's ...

I just saw that one of your mods is an AI translation mod and I saw you used AI generated images, so I didn't know how much other AI use you engaged in and wanted to give you a heads up about the rules in case you used generative AI to create the mods themselves (as many people who are fans of AI do). You've said that you don't use AI to create your mods or as content within them, so you shouldn't have any problems.

As a person who likes to create things, I don't like any generative AI because it steals from people who create. But I'm not a moderator so it doesn't matter to your being accepted as a mod author here.

lucid mulch
humble timber
#

yeeah, using ai generated stuff for the mod images also leaves doubt as to whether the mod will actually work as intended as people may think you used AI for the code as well

drowsy pewter
#

i think this is a bit besides the requirements for mod author role tho

lucid iron
#

Marketing AquaThumbsup

hard fern
#

baby in pelican mouth pelcan mouth good for baby put baby in pelican mouth

dusky sail
#

ok!

vernal crest
drowsy pewter
#

yeah i mean the warning is prudent

obtuse wigeon
#

my images are just a cropped ingame screenshot, doesn't take a lot at all

hard fern
#

amaxing

lucid iron
#

The baby fit

oblique meadow
#

Now we need another pelican in the baby’s mouth….

dusky sail
#

shortly after posting this i took a sip of water and started having a coughing fit and im blaming forsy for this

slow basin
#

im back

#

time to rewrite

dusky sail
#

how was music

slow basin
#

excellente

drowsy pewter
#

so hows everyones modding going

dusky sail
#

im forcing myself to draw rocks

drowsy pewter
#

Oclarina do you realize that I dont know half the people in here but I'll always remember you as tortilla person

dusky sail
#

wait hold im tearing up why does that make me so emotional!!

drowsy pewter
#

A bond forged in flame...

vernal crest
#

I have to research weapon stats so I can rank them and I am watching silly animal-related news bloopers instead

oblique meadow
oblique meadow
# drowsy pewter so hows everyones modding going

Ehhhh. Decent-ish. I need to re-look at the bundles at my farm and possibly re-balance. I feel like I have a couple too easy and then one or two that will be eye-rollingly hard. And I don’t wanna

#

Balance is hard

hard fern
#

im doing 0 modding

dusky sail
#

staring at this rock trying to decide if its salvageable or if i should just delete it and start over....

oblique meadow
dusky sail
#

i definitely am being hard on myself. i give myself ridiculously high standards. i also appreciate your pun

#

ive decided she lives i just need to redo the shading

humble timber
#

ur stressing over how a rock looks meanwhile rocks have become my go to for head empty procrastination work

dusky sail
#

well u see im calling it "rock" but its a gem node so i gotta figure out the light refraction

humble timber
#

fair enough

drowsy pewter
# oblique meadow Balance is hard

While balance is important for player experience, I also personally think that its partly something that results from emergent gameplay. There are a lot of things that you won't see that players will find a way to either optimize or will think is way harder than you thought, and it's okay to decide to just publish something sometimes

hard fern
#

😔 no matter how hard you try and balance there's some stardew minmaxer who's sweating trying to find the most efficient money making strategy that involves... fuckin. corn.

brittle pasture
oblique meadow
desert light
#

Does a PathFindController that deals with maps larger than 127x127 exist in the code already or in a mod of some sort? Or is that not really a thing as of now

vernal crest
#

I don't recall 127x127 ever being specified as a map size limit

drowsy pewter
#

But of course, you're also modding for yourself. So you can balance for your own tastes as a player!

desert light
#

Not strictly a map size limit, just written in a code comment as a limit for maps you can safely use the A* pathfinding controller class in

vernal crest
drowsy pewter
#

Exactly that also!

slow basin
#

i finally stopped getting yellow in console

woeful lintel
#

really funny how messed up items carry invalid data in a save

slow basin
#

y is the sprite index not doing what i thought it would

#

wait maybe i forgot to change the png

woeful lintel
#

it's the same item ID, but one was instantiated when there was a mistake in the soure rect computation

oblique meadow
fathom vapor
#

guys
i made a calc to calculate which crop you should plant for max exp gain (season wise) using python
how do i turn that into a mod?

woeful lintel
slow basin
#

collectible cards

#

and then i have 2 other mod ideas for collectibles im gonna work on next

woeful lintel
#

oh, no idea then

slow basin
#

here ill share the json

woeful lintel
obtuse wigeon
slow basin
#

the png is named "Cards'.png

obtuse wigeon
woeful lintel
#

oh no, it had fishes in it, my bad