#making-mods-general

1 messages · Page 579 of 1

uncut viper
#

You can have a zh-CN with a zh but as far as I understand the code, you cannot do it vice versa (i.e. you cannot have zh and zh-TW)

#

And they'd be put into the same language dict anyway

#

(And it'd still nag you about duplicate keys Actually it might not but still)

#

I would just provide a zh.json overwrite

lucid iron
#

This is the one which exists, not sure which approach it do

uncut viper
#

If it matters to you/the other person, even if you do have your game locale set to zh-TW, SMAPI will still use a zh.json when it can find one for a mod

#

Even if that zh.json is actually meant for zh-CN

wide lake
#

thats... broken.

uncut viper
#

It's intended and seems reasonable to me.

#

I imagine it's better to fall back to zh than to just English (or whatever the default of the mod is)

lucid iron
#

It's true i can generally read traditional even though im not from tw/hk/etc

wide lake
#

That is not how locale lookups are supposed to work. A locale of xx-YY is supposed to look up values in xx-YY, xx, and then default, in that order.

uncut viper
#

SMAPI will look for any translations that match the full locale (zh-TW in this case) and then it lops off everything after and including the dash and looks for those too

tiny zealot
uncut viper
#

That's what I said, no?

#

I guess I was unclear, I should've said it uses one as a fallback

lucid iron
#

So i think for most zh traditional readers it's slightly better to get simplified chinese than default english

uncut viper
#

That is what I meant, not that it uses it with priority, sorry

wide lake
#

oh, I see what you're saying, Button. I read "will still use" as not a fallback

uncut viper
#

I just meant it in the sense that it wont ignore a zh just because it doesn't have the specific -TW locale and didnt make it clear enough, my bad SDVpuffersquee

wide lake
#

Right. All good. 👍

#

But that's all moot if some mod hasn't specifically added a zh-TW to the list of locales, right?

uncut viper
#

Yeah, then it won't even look for that language in the first place and won't even get to looking for zh

wide lake
#

Ok, now I have enough info to tell this helpful person what the options are. (Certainly the easiest is to just tell them they can publish a translation mod, but adding the file to my mod as an optional download seems like a good choice, too)
Thanks for the help!

fierce vault
#

Small update from earlier for anyone who was there, but the translation was taken down, and I had a brief friendly discourse with the modder where I was able to explain why I had it removed. They did initiate the conversation with an apology. Won't go into more detail than that, but the situation worked out to be fairly okay-

toxic topaz
#

for some reason im really struggling making this plate look like, proper. Is this plate, platey enough? or does it just look like a poorly shadowed disk

torpid sparrow
#

looks platey

dire kestrel
torpid sparrow
#

yeah u could just fuck around with the vanilla plates

toxic topaz
#

im trying lol, pixel art isnt my strong suit

dire kestrel
tender bloom
#

Like it might not work anymore, and I'm not sure if it ever finished, but it was a thing

#

This is why I did publish zh-CN and zh-TW translations in one of my mods at some point

#

ah actually I did zh and zh-TW

#

I don't remember why, so it may have been recommended?

inner harbor
#

so I've set the "KissSpriteIndex": 32, the field I want it to be but the first time I kiss him it'll show frame 28, then correct to 32 for any subsequent ones.

#

Is this something other folks hae discovered? Or have I just done something weird?

tiny zealot
#

hmm i've never noticed such behavior

long jungle
#

How do naturally-dropped Holy Swords and Dark Swords already have an enchantment?

I checked the weapons.json of the game and it doesn't have anything special.

Afaik, when you also summon one sword using CJB cheats, it also wouldn't have an enchantment.

Is this related to the item dropping mechanism?

old edge
#

What is a circular reference

brittle pasture
hard fern
#

circular reference i think is like, A references B, wich references C, which references A again.

long jungle
hard fern
brittle pasture
#

(I kinda linked the wrong wiki page, but yeah those two weapons are hardcoded to have those on drop)

#

other low level weapons can have random enchantments on drop

long jungle
long jungle
#

Ah I see. Thanks!

inner harbor
#

well, it does just look like you kiss him on the cheek first, then on the mouth, lol.

whole prism
#

Heyy quick question, did amytging get updated recently with using null as a field for items that are caught like fish? (The difficulty field being null)

#

Used to work but I got a report that as of very recently itbisnt

#

Haven't investigated it yet but I will soon

lucid iron
#

you gotta provide a log tbh

warm relic
#

hi! is there a way to make an npc only accept the bouquet after you've seen an event?

whole prism
#

Skipped fish 'ASF_MermaidPearl' due to invalid requirements in Data/Fish: required index 1 (int difficulty) has value 'null', which can't be parsed as an integer

Skipped fish 'ASF_MermaidTear' due to invalid requirements in Data/Fish: required index 1 (int difficulty) has value 'null', which can't be parsed as an integer

This used to work until very recently, from October until judt recently

#

I wonder if it got harder in an update

lucid iron
#

have you reproduced it

#

i.e. is it broken on your own mod list

whole prism
autumn tide
lucid iron
#

besides reproducing yourself i would ask for a patch export Data/Fish

whole prism
hard fern
ocean sailBOT
#

Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 6.1.7601 Service Pack 1, with 42 C# mods and 82 content packs.

whole prism
#

This is their log

lucid iron
#
22:30:25    TRACE    SMAPI    Content Patcher edited Data/Fish (for the 'Aquatic Sea Fish' content pack).
22:30:25    TRACE    SMAPI    Content Patcher edited Data/Fish (for the 'Cornucopia - Artisan Machines' content pack).
22:30:25    TRACE    SMAPI    Content Patcher edited Data/Fish (for the 'Fresh Fish' content pack).
22:30:25    TRACE    SMAPI    Content Patcher edited Data/Fish (for the 'Shells Collection' content pack).
22:30:25    TRACE    SMAPI    Content Patcher edited Data/Fish (for the 'Eli & Dylan' content pack).
warm relic
#

thanks guys!

lucid iron
#

check if the 4 mods following you do anything weird

autumn tide
whole prism
lucid iron
#

those mods simply edit Data/Fish after you

#

and potentially touched your fish

#

whether they did is unknown

#

this assumes that you arent able to reproduce the problem with your own mod alone

whole prism
whole prism
#

Im shocked windows 7 works with stardww valley

#

I recognize that NT build

hard fern
#

eh? it says windows NT

whole prism
#

6.1

lucid iron
#

thats normal

whole prism
#

Ah

lucid iron
#

NT is the kernel

whole prism
whole prism
#

Which is under windows 7

lucid iron
#

valid choice Sleepden

whole prism
#

Wish it was in HD and supported still

#

Anywyas no more nostalgia

autumn tide
#

now I'm tempted to find the oldest working computer I can to submit a log and see if anyone notices

whole prism
autumn tide
#

or submit a smapi log from like a smart fridge

whole prism
lucid mulch
brave fable
#

it's not like you need the respective launchers of any of the online storefronts to play stardew valley given it's DRM free, so it's understandable that this isn't influencing the decision to lose compatibility with an out of support OS

#

annoying that, say, the doom + doom 2 rerelease isn't playable on windows 7 apparently solely due to the xbox crossplay features

glossy cargo
#

Does anyone know how the Goby spawn works? It's not in the various Fish entries of Data\Locations as far as I can tell

lucid iron
#

look for "Id": "(O)Goby",

glossy cargo
#

It's not in my file, but if it should be there, then I would assume my file is outdated?
But I do have the jellies thinkign

lucid iron
#

i dunno just unpack again to be safe

royal stump
#

it was added somewhere before 1.6.8 but after the 1.6 alpha, so a fair while ago, but yeah, make sure you have the current game

lucid iron
#

wow its one of those wacky BobberPosition fish

lucid mulch
#

it was a 1.6 native fish and 1.6.0 didn't have it in Data/Locations at all and was the only overworld fish that was hardcoded

glossy cargo
#

Even weirder... my data also doesn't have the stonefish theresasweat

royal stump
#

those mine fish still aren't in Data/Locations afaik, they're added by MineShaft.getFish

glossy cargo
#

oh boy

royal stump
#
switch (this.getMineArea())
{
case 0:
case 10:
    chanceMultiplier += (double)(baitName.Contains("Stonefish") ? 10 : 0);
    if (Game1.random.NextDouble() < 0.02 + 0.01 * chanceMultiplier)
    {
        fish = "(O)158";
    }
    break;
case 40:
    chanceMultiplier += (double)(baitName.Contains("Ice Pip") ? 10 : 0);
    if (Game1.random.NextDouble() < 0.015 + 0.009 * chanceMultiplier)
    {
        fish = "(O)161";
    }
    break;
case 80:
    chanceMultiplier += (double)(baitName.Contains("Lava Eel") ? 10 : 0);
    if (Game1.random.NextDouble() < 0.01 + 0.008 * chanceMultiplier)
    {
        fish = "(O)162";
    }
    break;
}```
lucid mulch
#

I think thats the only meaningful GameLocation.getFish override left too

lucid iron
#

Hey someone did make a framework like just today for these guys

glossy cargo
#

This is going to complicate my work significantly Sadge

#

but thanks for the info

royal stump
#

I still have a (void) prefix in EMP that redirects getFish somewhere else, but I consider the whole feature deprecated at this point SDViconghost

#

pre-1.6 map/tile property location swaps

glossy cargo
#

This makes me wonder if I should scrap all the work I did so far to try to edit the data dynamically, and instead just override GetFish() everywhere and point to my own data.... Emoji_Think

royal stump
#

that tends to make any fish detection UI mods wrong about everything, but it's a lot simpler to implement

glossy cargo
#

I know at least one of them does actual simulations of like 1000 fish to figure it out

#

that cause me issues in the past so I had to code dive them

lucid iron
#

I think you should do data stuff when you can

glossy cargo
#

I wonder about VisibleFish though. It's a popular one that I think my players will specifically want to play with

royal stump
#

iirc that also just polls getFish to populate, but it's been a while since I needed to poke around in it

#

one of the UI mods uses an API method I added to get the correct location for EMP mods, but I forget which at this point
(but again, it's pretty much deprecated & mostly used by some custom farms)

glossy cargo
#

Just for the record I'm trying to implement randomizing fish stats in Archipelago.

So I have a whole roll, from the server-side, of where/when/how every fish should be available, and I need the mod to execute that

#

So I have data like this and need to convert it to a game that behaves according to it

lucid iron
#

Well the mines r pretty doomed u gotta patch that

glossy cargo
#

so I am now realizing I'll need to override getfish anyway, to handle not only [not getting mines fish in the mines], but also to handle my own fish in there

#

so if I'm going to override anyway.... I feel like editing data AND code is overkill

#

it's going to get needlessly complex and I should centralize the code in one place only

lucid iron
#

For most of these other ones you can probably just replace Location.Fish dw about it PecoSmile

lucid mulch
#

also I think it would be possible to just patch Mineshaft.GetLocation to just not do hardcoded behavior and use GSQ to reimplement those fish in data

glossy cargo
#

Well at least the crab pots code works

inner harbor
latent mauve
#

Yay, farmhouse building skins mod complete and posted. Now I sleep.

ornate locust
#

okay so

#

This works,

#

This does not. It says the tokens are not tokens.

#

specifically the SPouseAnton/SpouseKiarra bits are breaking

#

but they don't... change... between these two versions

#

why... why would.

urban patrol
#

maybe they’re not ready? what does patch parse give you

ornate locust
#

But the first one throws no errors and works fine, why would it be ready for one but not the other? and give me a minute

#

Valid and ready

#

wait hm.

urban patrol
#

idk the intricacies of CP enough to know, it’s just the only thing i could think of

ornate locust
#

well it yelled at me when it wasn't ready

#

That's how I knew my poly tokens were messing up earlier

marsh reef
#

does it work without that last one?

ornate locust
#

No, wait, it says the token is unready, WHY IS IT NOT READY? The only difference is the hasmods

#

why would that damage the function of my tokens?!

hard fern
#

hmmmmmmmm

ornate locust
marsh reef
#

without this

royal stump
#

presumably the CMCT token, but that seems to ready up in a gameLaunched event

#

glancing at its code

ornate locust
#

I mean, yes, it works without that, look at the first example

marsh reef
ornate locust
#

I guess I can try, but without that, not much of a point to this patch

marsh reef
#

no but it would see if its specifically that or smnthn with the hasmods

urban patrol
#

worth a shot to narrow it down

ornate locust
#

hang on let me make the change to... the last one so it's easier to see

latent mauve
#

(try parsing both tokens, I am wondering if your second needs something before Reimagined)

ornate locust
#

it's wild if a different token being broken makes an unrelated token malfunction though

#

nope that still fails

marsh reef
#

editdata for the farmhouse, any way of just.. not having the chimney smoke apear? speficifcally for the final upgrade? completely is fine too 🙂‍↕️

marsh reef
royal stump
#

so I'm pretty sure you can't HasMod your way into making a token optional

"HasMod |contains=Fake.ModID": false,
"Fake.ModID_FakeToken": true```
=
`[Content Patcher] Ignored (CP) Test Pack > EditImage LooseSprites/emojis: the When field is invalid: 'Fake.ModID_FakeToken' can't be used as a token because that token could not be found.`
#

iirc CP validates all of the conditions before checking them, and either way, it doesn't know that CMCT is where that other token comes from offhand

marsh reef
#

what is iirc 🧍‍♂️

royal stump
#

if I recall correctly

marsh reef
#

oh okay

ornate locust
#

I have all of this inside a hasmod specifically for that other mod by the way, and a false dependency on it

#

and on CMCT

#

This has worked before and didn't mess up all my other tokens

royal stump
#

assuming you mean this is in an "include" file that requires CMCT, CP might still be validating the When conditions inside it anyway?
I imagine there's a workaround for this but I'm not sure offhand

marsh reef
ornate locust
#

investigating that now

latent mauve
primal garden
#
  "Format": "1.4",
  "ConfigSchema": {
    "rainbowcarrot": {
      "AllowValues": "true, false"
    }
  },
  "Changes": [
    /* Rainbow Carrot*/
    {
      "Action": "EditImage",
      "Target": "Maps/springobjects",
      "FromFile": "assets/carrot.png",
      "FromArea": {
        "X": 0,
        "Y": 0,
        "Width": 16,
        "Height": 16
      },
      "ToArea": {
        "X": 224,
        "Y": 288,
        "Width": 16,
        "Height": 16
      },
      "Enabled": "{{rainbowcarrot}}"
    }
    /* Rainbow Carrot Description*/,
    {
      "Action": "EditData",
      "Target": "Data/ObjectInformation",
      "Entries": {
        "446": "Rainbow Carrot/565/-300/Basic -18/Rainbow Carrot/A fragrant carrot colored with all the hues of the rainbow."
      },
      "Enabled": "{{rainbowcarrot}}"
    }
  ]
}``` what's outdated in this code besides the format?
royal stump
#

Data/ObjectInformation doesn't exist anymore, it'd need a differently formatted entry in Data/Objects

brave fable
#

i'll chime in and say that the item ID should be replaced with {{ModId}}_RainbowCarrot, the display name should be updated to use {{i18n:key}} or [LocalizedText key]

#

i'd maybe also avoid conditionally patching in an object data entry and instead simply prevent it from being required in collections using fields in object data, but that's a non-issue now that items without data become safe error items

uncut viper
#

(Also, Enabled isn't a thing anymore.)

ornate locust
#

so this works btw.

brave fable
#

screenshots of text SDVpufferpensive

proud wyvern
#

hey, free syntax highlighting

ornate locust
#

I mean, my entire mod's uploaded if anyone wants it :V

#

let me see how much of it is needed to look at and see what this is going and I can get it in the validator, it's just several part of it

half tangle
#

also free syntax highlighting with ```json ```

ornate locust
thorn hollow
#

I realise this is probably a stupid question, but how do I properly load a custom asset from my mods folder? I've tried following tutorials and it is. Not working.

What I currently have is

"Target": "{{ModId}}/pen",
"FromFile": {{ModId}}/pen.png

According to smapi that filepath doesn't exist? But I can't figure out what the file path is supposed to be. The image is just in the mod folder, for the record, no subdfolders.

royal stump
ornate locust
#

and my includes, just my content file in general

half tangle
#

just wanted to pop in and celebrate that I managed to put together a transpiler for the first time in several months so I had forgotten lots of how to do it... and this was on draw code, too!

hard fern
#

ive not seen something like this in one of them before

ornate locust
#

I changed CMCT to a proper requirement and that didn't change anything, it's still all broken. I cannot tell the difference between my CMCT tokens that work and the ones that apparently break everything except that it's for a different mod

thorn hollow
# hard fern what tutorials have you been following?
Stardew Modding Wiki

Last edited by AtlasVBot on 2025-09-13 18:56:15
A simple 1.6 guide to adding a new crop to the game using Content Patcher, adapted from 6480's Mouse-Ear Cress example.

Nexus Mods :: Stardew Valley

From the art to the code to testing to the mod page - here's your first slice of the mod-making pie!

hard fern
#

hmm, well

#

for your fromfile, the file path is supposed to be where your image is located, in regards to the main folder of the mod you're working on.

#

i can give you an example

#
            "Action": "Load",
            "Target": "{{ModId}}/Objects",
            "FromFile": "assets/Objects.png"
        },``` 
this is the patch where i load in my assets file
#

the fromfile is "assets/Objects.png"

#

inside my mod folder, i have a folder called "assets" with my image in it

#

if my folders were to be organized like, say this instead, my fromfile would be "assets/Items/Objects.png"

#

the {{ModId}} token will resolve to whatever your modid is

#

so the reason smapi is saying it doesn't exist is because it's expecting to find pen.png in a folder named the same as your modid

#

if your modid is something like my.coolmod then inside your folder, you should have

my.coolmod

pen.png

#

instead of an assets folder

#

im not sure if i explained all of that properly 😅

thorn hollow
#

It now tells me the asset doesn't exist??

hard fern
thorn hollow
hard fern
fading walrus
thorn hollow
hard fern
#

there's something you may have missed that someone else might catch

thorn hollow
hard fern
#

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

ornate locust
#

The only thing that works is removing ALL the CMCT config bits. It is not the hasmods. but this is a thing I have done multiple times before and the sole difference is the mod I am trying to refer to. I am going to chew this to pieces.

thorn hollow
#

The asset I'm having issues with is the very first thing in the changes

hard fern
#

!log

ocean sailBOT
#

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

Please share your SMAPI log file. To do so:

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

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

uncut viper
thorn hollow
ocean sailBOT
#

Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24354 on Windows 10 (10.0.19045.0), with 64 C# mods and 48 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

hard fern
ornate locust
#

So if I try to patch parse, for example {{Spiderbuttons.CMCT/Config: Vlgor.RSV.ReimaginedInterior, Reimagined_LogCabinHotel2rdFloor}}, then it tells me there's no content pack registered for ID Vlgor.RSV.ReimaginedInterior

#

which is odd because I am looking at it.

#

(and yeah 2rd looks like a typo but I double checked that)

uncut viper
#

A log would be better here

#

(From after the patch parse ideally)

ornate locust
#

sorry my internet is being weird took a minute to upload

ocean sailBOT
#

Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 19 C# mods and 10 content packs.

uncut viper
#

Oh, you haven't quoted it (and are missing the last })

ornate locust
#

Heck

uncut viper
#

Must be wrapped in quotes when doing patch parse

#

If it has spaces

ornate locust
#

Ah, that makes sense

#

It parses that fine

uncut viper
#

Then it shouldn't be CMCT that is the issue

#

Also, when parsing dynamic tokens, you do need to pass in your unique ID

#

It's not a global token. CP has no way of knowing what dynamic token you're trying to look at

ornate locust
#

Oh I see

thorn hollow
uncut viper
#

patch parse {{SpouseYsabelle}} <uniqueID>

#

(that has no spaces so no quotes needed)

ornate locust
#

So it'd be patch parse {{SpouseYsabelle}} MV.SpousesMoveHouse

uncut viper
#

Correct

ornate locust
#

That says it's valid and ready too when I get ingame. Why is it only throwing errors on start with this one patch and not others?

uncut viper
#

Are you certain you have a manifest dependency on the correct UniqueID for Reimagined Interiors?

ornate locust
#

Yeah, I copypasted it over

uncut viper
#

And that manifest is the one being used in the mod folder? (i.e. it's not only edited in some dev folder and wasn't moved over?)

ornate locust
#

did it again when things started messing up. It's got a number in it for a letter so I wanted to be sure

#

Yep, I am using that manifest

pine turtle
#

@ivory plume Greetings, mind if I DM you with some questions about the wiki?

More specifically, a userpage creation. I'm documenting the way Item Delivery quests work (might expand later), and I have the page with all the tables ready - except I can't create it due to new-user category. It would seem higher perms are required to edit other user's page as well, so here I am.

thorn hollow
ornate locust
#

(thanks for helping BTW, whatever's happening is way over my head here)

uncut viper
uncut viper
ornate locust
#

No worries, it's getting late for me anyway. Maybe sleep will give me ideas

primal garden
#

where are the items sprites stored in the content folder?

pine turtle
uncut viper
#

Oh, you mean the more hardcoded bulletin board ones, I see. Since those aren't content-editable I'm not sure what the protocol there would be in the modding namespace so I'll leave it to Pathos then, apologies and carry on

pine turtle
#

Yeah, more of a comprehensive list of anything which may be requested

uncut viper
#

Tbh I feel like that would be better off on the normal wiki page for Quests, though I say that as a user and not as anyone with actual authority on it. Fair warning though that Pathos isn't the wiki admin either, Margotbean is, so it may end up being up to them instead

primal garden
uncut viper
#

(I will stop talking on it now though since my words are largely irrelevant and will instead go to bed SDVpuffersquee)

brave fable
#

!springobjects

ocean sailBOT
#

Most vanilla object sprites are in the Maps/springobjects asset. See a table of springobject sprites by index.

Some newer object sprites are in TileSheets\Objects_2. You can check the entry in Data/Objects to see where its sprite is stored; SpriteIndex is the position, and Texture is the asset name (defaulting to Maps/springobjects).

pine turtle
primal garden
#

How can I see the x axis and y axis for a sprite sheet

hard fern
hard fern
#

!software

ocean sailBOT
brave fable
#

even windows Paint will show you pixel coordinates, pick from any (except krita)

primal garden
#

Oh im using pixel studio

primal garden
#

I cant find the coridants on pixel studio

finite viper
#

Hey everyone. I'm making a small map change to a mod using ContentPatcher (EditMap, MapTiles list). To add tiles to a layer, I need the SetTilesheet field. How do I specify it? What is it (string/number/path)?

long jungle
royal stump
# finite viper Hey everyone. I'm making a small map change to a mod using ContentPatcher (`Edit...

there's a description of it here, but no direct example; from what I can tell, it's the string name of the tilesheet you want to use in the target map, like "untitled tile sheet" or "Paths" in a lot of base game maps
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editmap.md#edit-map-tiles
so presumably something like this

"Action": "EditMap",
"Target": "Maps/Farm",
"MapTiles": [
    {
        "Position": { "X": 72, "Y": 15 },
        "Layer": "Paths",
        "SetTilesheet": "Paths",
        "SetIndex": "18"
    }
]```
long jungle
#

Can I use...

"When": {"HasFlag": "FjorlagRond.MWBRM_Floor40"}

...to check whether a mail from my mod has been received?

opaque field
#

When making my custom crops recently I spent 2 days going nuts because I didn’t realize the first two seed sprites don’t count for days in phase. If I somehow managed to miss where it says that on the wiki please correct me. Otherwise I was wondering if it would be okay for me to add that info to the days in phase block?

royal stump
royal stump
opaque field
primal garden
#

what is space core used for?

royal stump
primal garden
#

What does it mean to opt in?

royal stump
#

in general, or to something specific?

pine elbow
#

guys im wondering

#

like if im playing co-op

#

and im on mobile while the host is on pc

#

if they modded the server

#

would it work for me?

#

@royal stump

fading walrus
pine elbow
#

ah okie ty!

frozen elm
#

When using EditData, is it possible to add multiple entries at once? Like without specifying each entry individually if they should all get the same data, similarly to how you can apply the same patch to multiple targets at the same time.

primal garden
hard fern
primal garden
hard fern
primal garden
hard fern
royal stump
#

yeah, the "opt in" page is about those points, there should be an FAQ link and such there
direct donations & those pop-ups about donating are a separate thing, on the "permissions" tab of your mod settings

timber pilot
#

do I have to type in my mod id here or do tokens work on tiled

royal stump
#

you'll have to type it manually, those {{}} tokens only work in CP's content json files

void aspen
#

Since it's only the json things

ornate trellis
#

thats why i do my warps in a json

timber pilot
#

for some reason it keeps warping to itsel

#

instead of the location I'm trying to warp to

ornate trellis
#

did you perhaps set the arrival tile where the warp out is

timber pilot
#

no

ornate trellis
#

then maybe you made a msitake typing the location, what does smapi say

timber pilot
#

nothing about my mod

#

I guess I'll check again

primal garden
#

So if people download my mod will it ask them to donate if I have opted in for the mod rewards

worthy rose
#

it took me forever to design these dang sony and xbox button icons

fossil osprey
past loom
#

is this how the code for adding spouse room and a patio should look like? I read the wiki but they didn't really have an example

hard fern
#

🤔

hard fern
#

taken from vanilla, so ignore the "null" in the map asset

      "MapAsset": null,
      "MapSourceRect": {
        "X": 0,
        "Y": 0,
        "Width": 4,
        "Height": 4
      },```
past loom
#

ah, that makes more sense

#

thank you! Will try it :D

hard fern
#

and i think your map asset in this case should be whatever you loaded the tmx to

#

(idk i dont make npcs who have spouse rooms XD)

trim sand
#

Oh boy just got a bug report on my Nexus page with a user seeing translation keys exclusively.

#

Mystery no translation... This is gonna suck

hard fern
trim sand
#

"animal names" was how they described it. But not where it's showing up wrong

#

I've asked for logs and more info as I know it looks correct with animal bazaar and such

#

Who knows if I'll ever get the info tho it was posted the third.
Getting real tired of people reporting my project for a bug that's because of pokemon ranch and not my patch...
Irregular animal sprite sizes just cause issues all over the place.

stoic chasm
#

Hello peoplee. I had a question. Again. Is it possible to make a npc who you can marry and roommate? Does that make sense-? I dunno. I suppose what I mean is if you select a dialogue option, can it change if you can romance the npc or if they're just a roommate?

worthy rose
#

https://www.nexusmods.com/stardewvalley/mods/44679?tab=description

yay update out, visually shows you what buttons you have assigned, fixed a buncha crashes less go

Nexus Mods :: Stardew Valley

Instantly equip any item with a key/button combo! Bind items or slots to custom hotkeys, with controller support! You can even bind any consumable to a hotkey and automatically use the consumable mid

verbal glacier
stoic chasm
ocean sailBOT
#

@stoic chasm You leveled up to Farmer. You're now a prettier shade of blue. Thanks for sticking around!

void aspen
severe cairn
#

Is there a way with content patcher to have a fish already exist in a fish tank in like, a map or something? or does that require C#

lucid iron
#

I don't think any mod adds that feature

severe cairn
#

sadge

timber pilot
#

is this a valid input? I can't find any examples

severe cairn
#

It is, just remember the comma after the " if it wasnt cut out of the image

timber pilot
#

yeah it's there

severe cairn
timber pilot
#

ok thanks

primal garden
#
System.ArgumentException: Can't apply image patch because the source image is smaller than the source area. (Parameter 'source')
   at StardewModdingAPI.Framework.Content.AssetDataForImage.PatchImage(IRawTextureData source, Nullable`1 sourceArea, Nullable`1 targetArea, PatchMode patchMode) in /home/runner/work/SMAPI/SMAPI/src/SMAPI/Framework/Content/AssetDataForImage.cs:line 42
   at ContentPatcher.Framework.Patches.EditImagePatch.Edit[T](IAssetData asset) in /home/runner/work/StardewMods/StardewMods/ContentPatcher/Framework/Patches/EditImagePatch.cs:line 166
   at ContentPatcher.Framework.PatchManager.ApplyEdits[T](ICollection`1 patches, IAssetData asset) in /home/runner/work/StardewMods/StardewMods/ContentPatcher/Framework/PatchManager.cs:line 632 ``` how do I fix this in my mod?
fossil osprey
#

As it said, your asset is the wrong size

lucid iron
#

Use a fromarea and toarea

primal garden
fossil osprey
#

We can't really help you more without your json, the error can mean a lot of things

primal garden
#

what size must it be?

fossil osprey
#

It just means that the area you're trying to replace is bigger than your asset, so you probably have some mistake in your EditImage change

primal garden
#

oh wait it was 16

brave fable
#

try with "FromArea": { "X": 0, "Y": 0, ...

primal garden
#

there where it says 1

fossil osprey
#

Probably yeah

#

And yes, index start from 0;0

rain inlet
#

0-indexing pog

primal garden
#

it says my content pack has loaded now but nothing is replaceing the rabbit foot?

#

well it replaced the beet seeds?

fossil osprey
#

Then your ToArea is wrong

lucid iron
#

That sounds like you counted the area wrong

#

Open up spring objects

primal garden
lucid iron
#

Should be able to select the right zone there

verbal glacier
lucid iron
#

Why are ur pixels huge LilyDerp

primal garden
primal garden
primal garden
verbal glacier
#

For me the coordinates for the rabbit's foot are X:224 and Y:288

primal garden
fossil osprey
#

Your software doesn't seem to be very precise 🤔

verbal glacier
#

i feel you have something going on with your sprite size that is not showcasing precise coordinates

primal garden
#

what software do you use

verbal glacier
#

aseprite

brave fable
#

yeah the coordinates 225,321 don't appear in the rabbit's foot sprite, you've either misaligned your spritesheet in the canvas, or your software's all funky

primal garden
#

well tysm

finite viper
#

I'm trying to figure out the minecart system so I can add my own. I found information about tile properties and the Action MinecartTransport, but it only opens a dialog box for moving between locations.
Question: If I want to add my own minecart, do I have to implement it in code, or are there other ways?

vale holly
#

is there a property to manipulate the transparency of the npc, I'm trying to make them fade in over time.

verbal glacier
timber pilot
#

are these heart event or date specifications

verbal glacier
#

no heart level

timber pilot
#

why is it only even numbers?

verbal glacier
#

because most vanilla heart events are structured that way

rain inlet
fossil osprey
#

You can do whatever, but usually it's a way to show a "transition" to a new "friendship level" after hearts events

timber pilot
#

ok thanks

fossil osprey
#

so if you want specific dialogues for each heart level, you can

verbal glacier
#

also the little indicator at the bottom of an NPC changes each 2 hearts you have with them so it's just a way of structuring stuff

vale holly
#

yeah this works

public override void draw(SpriteBatch b, float alpha = 1)
{
    base.draw(b, 0.5f);
}
finite viper
verbal glacier
#

No problem SDVpufferheart

devout otter
fossil osprey
#

Oh really? I thought this was just a convention

devout otter
#

Naw, Content Patcher dialogue keys are not that flexible.

latent mauve
#

If you did want dialogue for a specific odd numbered heart level, you would likely need a workaround, such as a conversation topic

craggy goblet
#

What about dialogue for heart levels 12 to 14?

verbal glacier
#

that's marriage/roommate dialogue and you could do a "When": { "Hearts:NPC": "12" } to target 12 hearts (i think)

toxic topaz
#

is it possible for an npc to sleep sideways?

primal garden
#

what does the ediblity mean?

fossil osprey
verbal glacier
fossil osprey
toxic topaz
#

idk what spacecore even is

verbal glacier
#

space core is a framework mod which gives mod makers the option to do more stuff, it is like top 5 most downloaded mods for stardew

toxic topaz
#

cool thank you, ill probably try to figure that out

glossy cargo
#

@final arch Is there a github for your VisibleFish mod?

#

or anywhere else one could read the code?

glossy cargo
#

Alright then I guess I can ask, hopefully so I can avoid having to decompile it.

Does it work based on the data available in Data/Fish and Data/Locations, or does it simulate fish catches by calling GameLocation.GetFish() directly?

#

I'm trying to figure out a way to make sure your mod, which is very popular, still works with my mod, which will completely change the conditions for catching pretty much every fish

final arch
#

I basically have a copy of GameLocation.GetFishFromLocationData().
I couldnt call getFish() because it used to have lots of side effects, seems most have been removed besides the Island one (spawns walnuts on the Island,

#

so yeah I use the LocationData

glossy cargo
#

So if I add patches to GetFish(), it won't work properly, correct?

final arch
#

yeah sadly not

#

ig some kind of API would be easiest for you mhh

glossy cargo
#

I originally wanted to do it by editing data

#

I got through like 60% of the work. Then I was informed that the mines fish are hard-coded and not in the data. So I need to patch GetFish() regardless. So now I'm considering moving everything to GetFish() to avoid having to juggle two sources of information

#

but losing access to VisibleFish would hurt a lot of players. Not only is the mod amazing normally, but it'll be even more valuable in a world where the fish sources are all randomized and players are trying to find the fish

#

so it seems very important that I care about compatibility with VisibleFish

#

I know there are a handful of alternatives, but they are less popular as far as I know, and might have the same compatibility issues anyway

#

so I figured trying to be compatible with the biggest one would be good enough. Then it'll either be compatible with others as well, or at least I can tell players "Use VisibleFish instead"

final arch
#

is it random daily? or per run? if you stay with editing the data (and just use the patch for the mines specifically) itd work with lookup anything etc too

glossy cargo
#

per the whole save file

#

it generates a random roll at the beginning (Attached an example of such a roll) and then my mod makes that the reality for the whole run

#

it randomizes multiple aspects, most of which are relevant for VisibleFish (weather, season, location, and also maybe down the line, time of day)

lucid iron
#

Maybe go ask in 1.6.16 about dehardcoding mines fish too

final arch
#

Im leaning towards data edit too, solely because people will expect Lookup Anything to work probably

#

if you absolutely want to it otherwise I can maybe think about making an API or so for VF

glossy cargo
#

I'll see if I can get data edit work

lucid iron
#

Given the nature of what u want

#

I'd do a Late + 100 edit that replaces the Fish list entirely

#

I'm not rly sure how archipelago do modded fish but final effect is that you control how stuff spawns right

glossy cargo
#

as of right now we haven't done much with fish at all

#

this is all new to me

brittle pasture
#

mine fish is only gigahardcoded for level 100
adding fish to 20 and 60 via data is fine

lucid iron
#

Well let's say player has a mod that adds the ghost fish to secret woods

#

Do you wish to preserve this or should the server randomized data win over mod behavior

primal garden
autumn tide
#

you need a comma after the } on line 10 :)

primal garden
#

ty

autumn tide
#

ofc!

void aspen
#

vcs could solve half of these issues esp for me 😭

glossy cargo
lucid iron
#

Well you can choose here

#

Either do your edit really early so that mods can apply edits on top or do your edit really late and toss away edits from others

rain inlet
lucid iron
#

(edit here meaning AssetRequested stuff)

primal garden
#

sorry but what does this error message mean

lucid iron
#

Your json is still missing a }

#

Please use something that can hint these things for you

craggy goblet
#

VSC is a life-saver there

primal garden
#
  "Format": "2.9.1",
  "Changes": [
    {
      "Action": "EditImage",
      "Target": "Maps/springobjects",
      "FromFile": "assests/carrot.png",
      "FromArea": { "X": 0, "Y": 0, "Width": 16, "Height": 16 },
      "ToArea": { "X": 224, "Y": 288, "Width": 16, "Height": 16 }
    },
    {
       "Action": "EditData",
       "Target": "Data/Objects",
       "Fields": {
       "446": {
       "DisplayName": "Rainbow Carrot",
       "Description": "A fragrant carrot colored with all the hues of the rainbow",
     }
    {
  ]
}```
like this
rain inlet
#

didn't close your brackets smh

#

imagine not keeping track of your brackets

lucid iron
#

Why have you added a {

primal garden
#

im getting confused sorry

past loom
ocean sailBOT
#

Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 10 (10.0.19045.0), with 10 C# mods and 2 content packs.

fallen sequoia
#

im testing a mod to change the skin of npc. it works but somehow only work on the portrait. why it doesnt work on character ?🙏

finite viper
#

https://www.nexusmods.com/stardewvalley/mods/44309

When I was completing the game on Steam and getting 100% achievements, I had a problem with the "Fector's Challenge" achievement 🫠
I'm think many others have had a similar problem... And I have a solution. Or at least a "compromise" for those who don't want to cheat. Soooo... If you still haven't completed it, you know what to do SDVpuffercowboy

Nexus Mods :: Stardew Valley

A mod for Stardew Valley that allows you to shoot with the cursor in the arcade minigame 'Journey of the Prairie King'

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
#

This file is not valid json

thick canyon
#

eyo, new to sdv modding - is it bad ettiqute to submit a pr to a mod that has its github publically listed? I added a compatbility patch for UI Info Suite 2 Alt

glossy cargo
#

Well this works pretty well

lucid iron
thick canyon
#

trueee - I just meant listed lol. There are some mods that don't have the repo listed in the description but can be easily found by searching on github, I assume those mods are keeping the git off the description for a reason lol

past loom
lucid iron
past loom
#

I did put it into a validator and it didn't really give errors, what would be a different way of doing it then?

lucid iron
#

Load a blank.json and then use EditData to populate the thing

gaunt orbit
#

github repos are private (ie. not visible) by default, so if you can see it, it means they chose to make it public

past loom
latent mauve
#

You can Load the same blank.json to multiple targets, though, to create the placeholder file for your new data

#

You would do your EditData entries in your content.json still and just use the same targets.

past loom
#

yeah that's what I wanted to know, I'll try that out, thank you ^^

#

yep, that fixed all my issues, thanks so much!

fallen sequoia
lucid iron
latent mauve
finite viper
fallen sequoia
#

oh😂 im stupid. thank u guys🙏

finite viper
#

Thanks

finite viper
#

Oh, I thought the bot was taking the description from Nexusmods, not my message. Ok, never mind

void aspen
#

Hmmm, yeah that's something I always forget too

#

But I hope it looks explanatory enough aSDVraccoondance

half tangle
#

transpiler questions... if I try to match on a single opcode/operand pair and it is in the method, why would CodeMatcher not find any match at all? (if context helps, the method is GameLocation.drawDebris and the IL I was trying to match was CodeMatch(OpCodes.Stloc_S, 20) which is there in ilspy and if I just print the IL from the CodeMatch instance, and it also happens to be unique)

#

(I already have a working transpiler from matching another bit of IL, so this is just me hoping to learn in this case)

calm nebula
#

You may need (byte)20

#

Stloc_s <- the S stands for short, the short form of the opcode

half tangle
#

... ok, that makes sense.

#

I would not have thought of that soon at all...

#

well, that still fails to find a match

calm nebula
#

Huh.

#

It might be a LocalVariable

#

Can you do a predicate match?

#

I think you can

half tangle
#

new CodeMatch(o => o.opcode == OpCodes.Stloc_S && o.operand.ToString() == "20")
also did not work, although maybe I did the operand check incorrectly - first time doing a predicate match in a transpiler

lucid iron
#

Maybe it's time to debug step through the whole il lol

calm nebula
#

o.operand is LocalVariable l && l.index == (byte)20 ?

#

Oh wait

lucid iron
#

I also think it's probably ok to not fret too much about matching the value here

calm nebula
#

LocalBuilder not LocalVariable

lucid iron
#

If u can include enough of the surroundings

calm nebula
#

And I want LocalIndex

half tangle
#

alright, this matches: new CodeMatch(o => o.opcode == OpCodes.Stloc_S && o.operand is LocalBuilder l && l.LocalIndex == (byte)20)

#

thanks - this gives me more stuff to learn about and work from

#

yeah, the transpiler that I actually have uses more surroundings in a different part of the method, but I wanted to learn more about why what I thought should work was not working

worn coral
#

Hi @spice inlet - hope ping for ub question is ok? I was wondering if there is a graceful way to bulk reset incomplete bundles on behalf of the player to avoid them having to run multiple console commands after a major update? I'm rubbish at balancing my bundles and price migration is getting messy (totally my fault!) so was hoping to offer a one-click reset for any incomplete ones. I checked the documentation and the c# api but wasn't able to pinpoint anything (I'm also very new to making c# mods so I may totally be missing something) - thanks!

primal garden
#

Im updating a retexture animal mod and it didnt have any baby sprite should I make my own or just leave it

barren tapir
#

How would one go about implementing and summoning a monster class defined in a C# mod?

spice inlet
merry river
#

Okay, I tried to change my code but I still must be doing something wrong because now, nothing is spawning at all.
https://smapi.io/json/none/ab6ff6e7483f48d9a1e5a8ea480dddd3 (Spawning groups, wasn't sure what to do with the setpiece part, really)
https://smapi.io/json/none/82d41b68aa2e4f26a33cf307a18b3696 (Spawnable definitions)

And the trigger action I used:

            "LogName": "PeiMing  Spawn Trigger Actions",
            "Action": "EditData",
            "Target": "Data/TriggerActions",
            "Entries": {  

    "{{ModID}}_Trigger_Spawnables":
                {
                    "ID": "{{ModID}}_Trigger_Spawnables",
                    "Trigger": "DayStarted",
                    "Condition": "SEASON {{season}}",
                    "MarkActionApplied": false,
                    "Actions": [
                        "spacechase0.SpaceCore_TriggerSpawnGroup {{ModID}}_SpawnGroup_{{season}} {{SpawnableCoordinates}}"
                    ]
                },
}```
half tangle
#

I'd start by subclassing either Monster or one of the specific monsters. You can summon one with FTM or if you want to stick with C# look at the ways the game populates mine levels

urban patrol
merry river
urban patrol
#

nope GSQs always resolve to a bool

#

condition is basically “is the following true?”

merry river
#

alright, I'll make separate trigger action patches then 🙂‍↕️

#

thanks!

urban patrol
#

that’s the safest option for sure, although i’m not sure if you need to

#

you can try just having Condition true but still using {{Season}} in your Actions

#

i assume {{spawnablecoordinates}} is a DT?

merry river
urban patrol
#

okay and i assume DTs update themselves at day start

#

i would be careful with that though, because what happens if a user changes config mid-game? idk what happens to the token and it could fuck up your traction

#

(not that users should be setting config mid game, but you know)

worn coral
# spice inlet Price migration for developers and console commands is about it currently. If yo...

Thanks so much for your reply! At least I know I haven't missed anything obvious. I haven't tried changing the ID, I'll definitely give it a try.
But also, if you did decide to make an action or api for resetting available that would be amazing - I have around 25 complex bundles for all the tools so would love a way to make it a bit easier for players - no pressure from my side though, I'll just be grateful if you happen to have the time sometime in the future, thanks!

urban patrol
#

i’d like to identify where in the process things aren’t happening

merry river
# urban patrol i’d like to identify where in the process things aren’t happening

I added separate patches for now. But I am getting this error this time around: "[game] Trigger action 'void.peiming_Trigger_Spawnables_winter' has action string 'spacechase0.SpaceCore_TriggerSpawnGroup void.peiming_SpawnGroup_winter void.peiming_PeiMingNewOutdoors 7, 6, 11, 14 11, 4, 8/10, 16, 3' which couldn't be applied: Rectangle parsing error for includeRegion 0: required index 1 (Rectangle rect > y) has a blank value."

The DT looks like this:

            "Name": "SpawnableCoordinates",
            "Value": "Forest 42,73,4,3/55,73,3,7"
        },

        {
            "Name": "SpawnableCoordinates",
            "When": { "HasMod: |contains=FlashShifter.StardewValleyExpandedCP": true, "House Location": "SVE"} ,
            "Value": "Forest 18,69,2,2/17,79,3,2/22,79,2,2"
        },
        {
            "Name": "SpawnableCoordinates", 
            "When": { "House Location": "Alternate" },
            "Value": "{{ModID}}_PeiMingNewOutdoors 7,6,11,14 11,6,4,8/10,16,3,4"
        },
urban patrol
#

that’s wild why is it dropping numbers like that

lucid iron
#

You missed a , between 14 and 11

uncut viper
#

you've got a lot of spaces between your numbers

#

Does it handle those

#

Actually that might be mobile discord font nvm

strong kite
#

Hello! I haven't been here in a while, but I'm getting back into working on my Pokemon Berry Bushes mod.
I'm currently trying to add a recipe that's obtained through the mail by raising friendship with Vincent and/or Jas, however I've found that doing the typical "f Vincent 3" in the recipe field results in the recipe erroring and appearing as ??? in the cooking menu, and my theory is it's because Vincent and Jas don't have a string in game for sending recipes in the mail?

I was wondering how I could add strings for cooking recipe mail sent by Jas and Vincent after certain friendship thresholds (preferably with i18n support) or if there's another mod I can look at which does the same thing that I can use to figure it out?

urban patrol
turbid oracle
#

One question, how many portraits are to make a mod?

urban patrol
#

i’m confused how it took 11,6,4,8 and spat out 11,4,8

urban patrol
turbid oracle
#

And if with all expressions of all vanilla characters?

urban patrol
#

!unpack check the unpacked data

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!

fossil osprey
#

some mods have 100+ portraits for some characters, so there is no real limit

turbid oracle
#

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

uncut viper
urban patrol
#

oh gotcha

#

yeah i think that’s Just Discord TM

#

anyway @merry river my only advice is to not use DTs for tractions. make separate trigger actions for each config option, not using ANY whens or anything

#

this has solidified my opinion that tokens are tokens and trigger actions are trigger actions and never the twain shall meet

#

if you need a GSQ for a config option then uhhh maybe set a mail flag or smth? idk

lucid iron
#

It's probably fine when it's unconditional tbh

#

Or at least token ready on game started

calm nebula
#

Yeah

#

Patch export that shit plZ

urban patrol
#

yeah i’m too shaky on when tokens do things to offer advice on using them in combination with stuff with lots of moving parts

#

tractions are already so hard to debug

whole prism
#

Hellloo, quick question

#

For months now, my mermaid pearl and mermaid tear and other "Object" drops in the sea were actually coded like fish but with no mini-game attached

#

However, in some rare cases, it does not work (some basic rods send out errors when catching it, but fiberglass and better dont)

#

im unsure why that occurs, however, id rather make my item the right way instead

#

Does anyone have a link or doc on this would work? I'd just want my pearl to be very rare accidental catch in the Beach, low chance

fossil osprey
#

I don't know if you could code them like jellies? That's a no minigame catch, while still not being trash (which somes with drawbacks iirc)

whole prism
#
"{{ModID}}_MermaidTear": "{{ModID}}_MermaidTear/null/mixed/2/8/1800 2600/spring summer/both/-1/4/.01/9/8/false"
#

This is how they work right now

fossil osprey
#

No idea if CP allows it tho

latent mauve
# strong kite Hello! I haven't been here in a while, but I'm getting back into working on my P...

you might have an error in your console log that you can look at, but my first instinct is that something's gone wrong with your ingredients list or name field somehow? If you've confirmed that your cooking recipe does indeed exist and isn't throwing errors and that it is something to do with the unlock condition, then you might be able to create a trigger action to send the recipe in the mail instead.

#

If you remove the unlock condition temporarily, does the recipe appear correctly?

strong kite
#

Idr if the vanilla UI just has unknown recipes as a ?

latent mauve
#

That's the next step if it is indeed the problem.

strong kite
#

I did try that yes, in a mail.json file

lucid iron
#

Could you just omit that and try?

latent mauve
strong kite
latent mauve
strong kite
#

Yes

latent mauve
#

Okay, and in that mail.json, what did the code block look like? The bit after { "Changes": [

strong kite
#

It was immediately followed by the data. Hold on a second I can set it back up

whole prism
#

I might try using chance instead

strong kite
#

I had undone it cuz it didn't work so gimme a moment

whole prism
#

and define it in the locations

half tangle
#

Looking at the object data for sea jelly for an example, it looks like giving it the type Fish and the context tag fish_nonfish may be all you need to make an Object fishable without the minigame

strong kite
#

Ohhh wait a minute I think I can see my issue mario_facepalm

latent mauve
whole prism
#

What im trying to do is not have it added with a null statement. Most of the time, its fine, ive had this since 1.1, but, there are some users under rare circumstances that get errors saying null cannot be there, even though its fully allowed to be

#

Right now im checking how MNF added the "i_voted_sticker" trash item, maybe I can try doing how they do it

#

but still unsure atm

#

How MNF handles it is using Chance and Precedence (doubt Precedence has much to do with this anyways)

#

so I will see from there

strong kite
# latent mauve Included files still expect an Action block (which starts with ```{"Action":"Edi...

I'm currently implementing it based on what I already have in the recipes.json file but I don't know which parts are only relevant to adding the shop data
This is likely incomplete but how's this looking so far?

        "Changes": [
        {
            "Action": "EditData",
            "Target": "Data/mail",
            "Entries": {
    "JasCooking": "Hello, umm... you're nice to me... I hope you like this recipe... ^   -Jas%item cookingRecipe%%[#]Jas's Recipe",
    "VincentCooking": "Hi! My mom said I should send you something for being so nice to me. I came up with this last night! ^   -Vincent%item cookingRecipe%%[#]Vincent's Recipe",
            }
        ]
    }
}```
#

Any fields I'm missing?

half tangle
#

I'd be curious to see a log from someone who is getting an error about null not being allowed for defining the difficulty of the "fish"

whole prism
#

Skipped fish 'ASF_MermaidPearl' due to invalid requirements in Data/Fish: required index 1 (int difficulty) has value 'null', which can't be parsed as an integer

Skipped fish 'ASF_MermaidTear' due to invalid requirements in Data/Fish: required index 1 (int difficulty) has value 'null', which can't be parsed as an integer

ocean sailBOT
#

Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 6.1.7601 Service Pack 1, with 42 C# mods and 82 content packs.

whole prism
#

This is their log

#

It shocked be, because I even tested it with their mods, East Scarp + Fish of Stardew

#

still wasnt able to replicate that issue

whole prism
#

Could be a strange mod they have, I dont know, so far, this is what I'm leaning towards

whole prism
#

If anyone knows more information on it, feel free to correct me, I'm puzzled on why only the beginner rods produce this error (Training rod, Bamboo rod)

uncut viper
#

Where are you getting that null is allowed to be passed?

merry river
whole prism
merry river
#

(the DT I mean)

whole prism
#

And I got it from another fishing mod as well

#

This is the first time where one user has faced a weird bug with it, and only happens with the beginner rods

#

With fiberglass, iridium, and others, it does not cause that error

#

I've also tested it under the null value when passed to the property, it's not had an issue until today with that user

half tangle
#

that warning specifically appears only for training rods if the value is not an int in GameLocation.CheckGenericFishRequirements, but I haven't seen where else it gets parsed yet

whole prism
uncut viper
#

There is an unconditional Convert.ToInt32 in the only BobberBar menu constructor

#

For that field

#

It may happen that doing Convert.ToInt32 on an empty string or something doesnt crash, but it's definitely not documented as explicitly allowed to put a null value there

whole prism
uncut viper
#

(In fact it's specifically documented as required and not just left ambiguous)

whole prism
#

To avoid niche issues like this, what would you recommend I do with the null field?

#

If set to 0, the fish mini-game occurs

#

Same as adding the context tag fish_nonfish

#

which has no effect on the mini-game interestingly enough (in my experience)

uncut viper
#

I would suggest copying the sea jelly or trash items (I don't remember how trash works) exactly and then changing only the necessary data to turn that duplicate sea jelly into your actual fish

half tangle
#

does setting the Category to 0 work? Fish are category -4, but the sea jelly is category 0

uncut viper
#

In 1.6.16, you add the fish_skip_minigame context tag

calm nebula
#

You should be able to just omit the data/fish entry

brittle pasture
#

does your item need a Data/Fish entry

#

what atra said

calm nebula
#

This is literally how every furniture item you fish up works

#

I'm quite sure you're overcomplicating it

half tangle
#

oh, yeah, I was talking about defining the Object. If it's not a fish, no reason for the Data/Fish entry, I imagine

whole prism
#

Am I just exporting Data/Fish?

half tangle
#

!unpack if you haven't

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!

whole prism
#

ahh gotchu

uncut viper
#

Well look into what everyone else is saying first about ignoring Data/Fish entirely

strong kite
whole prism
uncut viper
#

I don't know, I'm not one of the three other people who said it. I don't do fish stuff

half tangle
#

seajelly gets added in location data, so I imagine it would be there

whole prism
#

I'm looking at MNF, it seems they add it to Data/Locations, with "Chance": 0.05, and Precedence": 1999. Under Default -> Fish Target field

strong kite
ocean sailBOT
#

@strong kite You leveled up to Cowpoke. You can now share images in all channels!

whole prism
#

I don't fully know what Precedence does in the context of fish

half tangle
brittle pasture
#

lower precendence = the entry gets checked earlier

latent mauve
strong kite
latent mauve
urban patrol
strong kite
latent mauve
#

I'm looking through Sunberry Village at the moment to see how they handled it

#

There's no silly conditions on your Data/Objects entry, are there?

#

I'd imagine not, since it works fine if you remove the condition from the CookingRecipes patch

strong kite
#

Correct, though just in case I have it set like this. But the item itself does still appear

                    "Name": "PBB_EeveeCookie",
                    "DisplayName": "{{i18n:EeveeCookie_name}}",
                    "Description": "{{i18n:EeveeCookie_description}}",
                    "Type": "Basic",
                    "Category": -7,
                    "Price": 140,
                    "Texture": "TntDove.PBB/Objects",
                    "SpriteIndex": 228,
                    "Edibility": 24,
                    "IsDrink": false,
                    "Buffs": null,
                },```
nova gale
uncut viper
latent mauve
#

They also use the Cooking type but I'm not sure what other impacts that may have

uncut viper
#

(The slashes are irrelevant. SMAPI normalizes every asset name that passes through it.)

strong kite
#

That's.. probably irrelevant yeah? Considering this mod's been published for a while and I've had it like that the whole time for every other entry
Same with them being set to basic for Type

latent mauve
#

Not sure why either would matter if the friendship condition is what's causing the issue, but just wanted to mention

#

Yeah, like I said, probably irrelevant. 😄

strong kite
#

Alrighty!

#

I'm looking through SVE purely because I figured the mod would have something like what I'm looking for lol. But it's definitely not the best option for this cuz there is just so much extra stuff I don't need to worry about lmao

latent mauve
#

Scrolling up to see if I can find your CookingRecipes entry anywhere in the history

#

Yeah, SBV adds three cooking recipes so it's easier to parse, but they are for custom NPCs, which may or may not have the same weirdness as using one of the kids

strong kite
#

Would there be something in the code about them being kids that would be causing issues? Otherwise I feel like it might be the similar if not the same to adding these for custom NPCs?

latent mauve
#

(I would be curious as to if changing it away from Vincent or Jas to any other NPC results in it behaving as expected)

strong kite
#

Cuz It could also be because no other entry in the mod uses that field cuz all the recipes thus far have been in shops which the field is technically not required for

#

Progress.... That field just isn't working for my mod lmao

latent mauve
#

Well, SBV uses the f <NPC> <hearts> syntax and theirs work fine

brittle pasture
#

just popping in so can you show context

strong kite
#

This is what I've got, with a few other entries for reference

                "PBB_ConcentratedBlukBerryJuice": "PBB_BlukBerry 250/10 10/PBB_ConcentratedBlukBerryJuice",
                "PBB_MiniorKonpeito": "245 1 PBB_RoseliBerry 1 PBB_OccaBerry 1 PBB_ShucaBerry 1 PBB_RindoBerry 1 PBB_YacheBerry 1 PBB_PasshoBerry 1 PBB_PayapaBerry 1 PBB_BlukBerry 1/10 10/PBB_MiniorKonpeito",
                "PBB_EeveeCookie": "246 1 245 1 -5 1/10 10/f Emily 2/PBB_EeveeCookie",```
#

Eevee Cookie being the one not functioning properly

brittle pasture
#

the entry of the Eevee Cookie is malformed

#

your produce is after the condition instead of before

strong kite
#

oh

#

ohhhhhhh okay I know what happened

latent mauve
#

(also since you were asking about using i18n with it before, your i18n token would go in that last field)

#

the one after the friendship condition is the display name

strong kite
#

I'm getting back into modding so I'm extremely rusty, was adding this basically as a test to get back into the groove, I thought the final thing with the item tag was the display name field, not the yield field

#

Alrighty, I've corrected it

void aspen
#

Is it possible to add new symbols support to the game if I add them to font files

#

Like star on asterisk

lucid iron
#

Font smasher

void aspen
#

I see

lucid iron
#

I guess it does depend on what you plan on using this for

strong kite
#

Alright, it is indeed showing up in the recipe menu correctly. Now to see if the unlock condition works properly

void aspen
#

Just randomly thought about it, nothing much

latent mauve
#

Asterisk currently does the anger tick mark, yeah?

urban patrol
#

not in dialogue at least

strong kite
#

Alright I don't think the condition is actually working properly. although maybe there's several reasons that could be..

#

I'll test it with a different NPC again

brittle pasture
#

make sure to test with new save

strong kite
#

That's also a great idea

brittle pasture
#

if it's unlocked already I don't think you get new mail

void aspen
#

Okay since I mentioned the whole font thing, how do I generally add text keys to Tiled
I already know how to do basic i18n but I'm not sure how to make Tiled work with it
Just some sign action text for example

strong kite
#

It's not unlocked, but I know there might be bugginess with having previously been at the required friendship

latent mauve
void aspen
#

Okay so uhh

latent mauve
#

(Tiled does not know what tokens are, so they won't parse properly)

strong kite
#

Could there be issues with using CJB to raise friendship that might be causing this not to work?

#

Cuz on a fresh save, setting Emily's friendship to the required level.. actually didn't send ANY recipe mail come to think of it

void aspen
#

Let's say I already have a ready default.json
Do i do data strings entry and just mention my i18n there and then use the string in tiled?

latent mauve
#

The ExtraMapActions (EMA) mod is required to use this feature. this would be changed to be your i18n token

void aspen
#

Oh neat, almost got it right

latent mauve
#

(reminding me to publish my i18n version of that mod in an update, whoops)

void aspen
#

Gotta learn more data entry things, those are cool

strong kite
#

I'll try again but I'll use like.. stardrop tea or gifts to raise friendship, and I'll make sure not to pass too many recipe gaining thresholds cuz I read that could be an issue

void aspen
#

Wait I actually never used strings data entry

#

My i18n and content did everything

latent mauve
#

this is the other part, done in Tiled

void aspen
#

But that was just to add name and description to a custom object

uncut viper
#

(pls namespace them though if you put them in the generic Strings/StringsFromMap asset)

latent mauve
#

(yep, it's part of what I have to update when I do the i18n patch)

uncut viper
#

(you can put them in your own string asset if you dont wanna type out your mod id (though id personally still recommend namespacing even in "your" asset) )

#

(actually you'd then have to type out your mod ID anyway so that doesnt save you either)

latent mauve
#

(this is why I just made CP do all the work in the apartment mod instead of setting the tile actions in Tiled)

void aspen
#

Wait I guess the whole data strings folder is just a big i18n

#

Interesting

#

Wait it's not data it's just strings

#

So confusing

#

11pm is no joke I gotta go sleep

#

Ty yall, gn

latent mauve
#
      "Layer":"Buildings",
      "Position": {
        "X": 5,
        "Y": 22,
      },
      "SetProperties": {"Action": "Message \"{{ModId}}_MyStringHere\""}
      }```
this saves so much pain because you can use the tokens in it.
strong kite
#

yippeeeveeYIPPEEyippeeevee

misty ivy
#

Yippee!!

strong kite
#

Now to see if it works with Vincent LUL

misty ivy
#

Godspeed soldier 🫡

void aspen
#

I gotta learn particles now I wanna do things

whole prism
# uncut viper I don't know, I'm not one of the three other people who said it. I don't do fish...

To temporarily patch the issue until I come up with a solution, I came across a unique property.

I found a CanUseTrainingRod property, but I'm unsure on where it's used. Do you use this in the Object's definition under EditData -> Data/Objects?

I do not need the items to be caught with a training rod for now. I also got more info, that the bamboo rod does work. It's only the training rod that causes issues

strong kite
#

yippeeeveeyippeeeveeYIPPEEEEEEyippeeeveeyippeeevee

whole prism
ornate trellis
barren tapir
#

How does this look as a path?

whole prism
#

This area?

#

Just added them here if so

#

Just wanted to double check with you if this is the correct spot for it :3

#

(this is a temporary patch, I understand that this isn't the most ideal situation)

ornate trellis
#

yeah i think, been a hot minute since i did fishing stuff

whole prism
#

alrr

whole prism
#

I couldnt find so i was asking here

latent mauve
#

should just be whether or not it can be fished up while you are using the Training Rod pole

ornate trellis
#

not really, tehres like a few sentences on the wiki on the location page and thats it i believe

#

(Optional) Whether the player can catch this fish using a training rod. This can be true (always allowed), false (never allowed), or null (apply default logic, i.e. allowed for difficulty ratings under 50). Default null.

misty ivy
#

Peaks my head in,, Im having a bit of trouble with actually integrating the maps I've made into the game

#

I've made an edit to add an area to the side of town (made "Custom Town Edit.tmx" file and used the EditMap command)

#

This is what it looks like, but the farmer can't go past that point for some reason

#

Is there some command I'm missing? I've also made sure nothing is obstructing the player in the building layer (here's the og town building layer and my edit's building layer)

strong kite
#

Now that the code is all working properly and my first new item in a while is functioning, I can add the other 8 items that go alongside this one.
Which has immediately hit me with the realization of just how much effort this is all gonna be LUL

urban patrol
whole prism
#

I'll have to recode that then, which sadly I don't have enough knowledge on how to do

urban patrol
#

or you can use something like debug mode or just patch export the map but data layers is easiest imo

ornate trellis
#

what error does it even have

latent mauve
whole prism
# ornate trellis what error does it even have
[game] Skipped fish 'ASF_RedCoral' due to invalid requirements in Data/Fish: required index 1 (int difficulty) has value 'null', which can't be parsed as an integer
[game] Skipped fish 'ASF_MermaidPearl' due to invalid requirements in Data/Fish: required index 1 (int difficulty) has value 'null', which can't be parsed as an integer
[game] Skipped fish 'ASF_MermaidTear' due to invalid requirements in Data/Fish: required index 1 (int difficulty) has value 'null', which can't be parsed as an integer

ornate trellis
#

null?

latent mauve
#

The vanilla Town map has an invisible tile on Buildings at 112, 96

misty ivy
#

Thank yeouuu

ornate trellis
#

you got somewhere a null in your data/fish and i guess the game doesnt like that

misty ivy
urban patrol
#

download the mod and then press f2 (or whatever the keybind is set as)

#

there's a whole suite of QOL testing mods, like debug mode, CJB cheats, etc that i recommend you have when testing

brittle pasture
compact cedar
#

hello everyone
I was messing with abigails schedule after marriage in a mod and I wanted her to go home after a little trip and I added, I copied it from another schedule.
1010 BusStop -1 23 3
and I doesn't work
why help

ornate trellis
#

theres a "null" in there where there should be the chance for darting

urban patrol
ocean sailBOT
#

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

Please share your SMAPI log file. To do so:

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

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

whole prism
#

I was looking at a temp patch

#

tho the game still reads it regardless if its not allowed to be caught

compact cedar
latent mauve
brittle pasture
compact cedar
whole prism
latent mauve
compact cedar
whole prism
ornate trellis
#

send her to bed, i think?

brittle pasture
latent mauve
#

You'll need to set a NPC warp somewhere to put her back in the farmhouse (may or may not work) or otherwise use bed, yes.

ornate trellis
compact cedar
whole prism
#

oki will delete em

latent mauve
whole prism
#

since it wont be able to be caught yet

#

or obtained

ornate trellis
#

it can since you put it into Data/Locations

latent mauve
#

⍼Ц𝓝𝖊, Please note that using bed will make them unable to be interacted with until the next morning, as they will do the "zzz" sleeping text and not be giftable.

brittle pasture
ornate trellis
#

save and then test ingame

compact cedar
whole prism
#

it needs to be rare

brittle pasture
#

increase the precedence value and/or decrease the chance

#

lower precedence get checked earlier

#

0 is normal

compact cedar
whole prism
#

i havent played around or used precedence yet

brittle pasture
#

vanilla mostly only uses these values

-1000: location items which should override the global priority items (e.g. fossils on Ginger Island);
-100: global priority items (e.g. Qi Beans);
0: normal items;
100: global fallback items (e.g. clay).

#

in most cases if you just want the item to be part of the pool use 0

misty ivy
#

how do I make this door work.... (Please ignore the door being between tiles I do not care to make it proper- unless I need to for some reason)
Do I need a line of code? I haven't written anything for it.

#

Actually how do I make any of the tiledata work? none of them work currently i think

ornate trellis
#

have you named them TileData?

#

you can either do doors like that or you can mae them warps solely via json its up to you

misty ivy
#

......i did not 🤦 I did it for the other map and not this one 😭

void aspen
#

Its okay dw

misty ivy
#

let me do that thank youuu

void aspen
#

Name it TileData
Put it on pink Buildings layer
and it should work

#

If you see a hand cursor when you hover it that means it works

misty ivy
#

IT WORKS!!!! YIPPEE!!!

void aspen
#

Nicee

#

Wondering how is your house tiles are 700 and 2100 tho 😭

misty ivy
void aspen
#

WAIT IM STUPID ITS TIME

misty ivy
#

Hehas-

void aspen
#

almost died there sorryy

#

its locked door thing I always forget about

whole prism
#

@brittle pasture @ornate trellis @uncut viper

Thank you! I managed to get it working perfectly!!

ivory plume
pine turtle
final arch
#

StardewModdingAPI.Framework.Exceptions.SContentLoadException: Failed loading asset 'assets/LooseSprites/Cursors.png' from SMAPI\maraluna.overgrownfloweryinterface: an unexpected error occurred.
---> System.Exception: Unable to allocate pixels for the bitmap.
at SkiaSharp.SKBitmap.Decode(SKCodec codec, SKImageInfo bitmapInfo)
at SkiaSharp.SKBitmap.Decode(SKCodec codec)
at SkiaSharp.SKBitmap.Decode(Stream stream)
does someone know how that error can occur? its on different images of different mods so probably not corrupt images

calm nebula
#

!oom

ocean sailBOT
final arch
#

yeah thats the only think that came to my mind too 🤔

#

ty

calm nebula
#

Unable to allocate pixels is pretty much another word for out of memory

royal stump
#

yeah, the only reason that's not a raw OOM message is that skia uses an API with bool Try methods to get memory

toxic topaz
#

I have a question about spacecore. If i wanted to do a custom sleeping animation. I know spacecore has a thing that allows oversized animations, would i draw in in a new spritesheet in a 16x32 style?

ornate trellis
#

you can draw it on the same sheet

#

you just need to keep in mind that the sprite count is different sinze the size changes

#

but the example should explain that bit

toxic topaz
ornate trellis
#

it wouldnt be easier cuz then youd need to add code for appearance and when it changes for the animation etc too

modest dagger
#

isn't 16x32 the default size or is it 32x16

ornate trellis
#

16x32 is default, yes

toxic topaz
#

ah, i meant 32x16 lol, not the other way around

ornate trellis
#

just look at clints or willys sheet, they got bigger animations too on the standard sheet

modest dagger
#

here's an example as well

uncut viper
#

32x32?

toxic topaz
#

so it would count as two sprite slots technically?

ornate trellis
#

i mean if you go by standard, i guess. but to the game it will be one big one

ornate locust
#

okay it is time to suffer

#

Manifest:
https://smapi.io/json/manifest/29760add29864d86acaa40e9e39c98be
Content, which has my tokens and loads in it:
https://smapi.io/json/content-patcher/f4121cfae62c47f18444e470a3440e08
A patch using the tokens in content with CMCT compatibility things that works fine:
https://smapi.io/json/none/2939c9dfd8a94796a9256bb2977f1c42
A patch using the RSV-specific tokens that works fine:
https://smapi.io/json/none/7c833b25304a40f4bc53f99b300c2e92
The patch that will not load:
https://smapi.io/json/none/6d154c6cc42c4036a4a24609da1e4004
A log to show the errors I'm getting and how running Patch Parse shows the tokens working.
https://smapi.io/log/978ec649f0ff4477bef9b119f7ea97ea

My problem: This compatibility patch will not load. It says the reason is that MY tokens do not exist. The tokens I made myself in the same mod as this patch.

ocean sailBOT
#

Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 19 C# mods and 10 content packs.

ornate locust
#

I am out of ideas for things to try

#

so for some reason, my own tokens are failing when I check settings from RIRSV through CMCT.

valid folio
#

Hi, by any chance do you know where the sprite for the alien capsule that crashes on the farm is, the one that breaks open and something comes out of it?

calm nebula
#

Tilesheets/Craftables

valid folio
ornate locust
#

hmmm maybe...

#

what happens if I just try it with ONE of the patches...

#

wait that worked okay, see, sleeping helped

#

okay so maybe just ONE of my patches is doing this

#

I'll just add them back in one at a time and see when it explodes

whole prism
#

Haiii

#

Does anyone know the of Nature In The Valley creators discord name?

#

I wanted to ask them about compat with their Shiny Fish mod instead of adding it on my end, but cant seem to find their user here

lucid iron
#

They are @acoustic summit

#

Haven't seen them recently tho

ornate locust
#

Hey I found a part that doesn't work and I am EVEN MORE CONFUSED but at least I found it

whole prism
ornate locust
#

But the patches for the rooms before that look... the same? Their conditions look the same

#

WAIT OCMMAS

#

I SEE COMMAS

#

Oh that's totally it I had some stray commas

#

thank you rubber ducky chat

grim glacier
latent mauve
#

You were answered in making-mods-art when you posted that the first time. Mind elaborating on your question if you want to try again?

#

What, if anything, have you already tried, that kind of thing

near imp
#

looks like its trying to grab the colors of the nonexistent shirt to give it the color for the sleeves. no color so transparent? my best guess. the sleeves are red in the files but in the game they get their color from the shirt

valid folio
#

Is it complicated to use the slime incubator to generate a slime? I want to try something, but I looked at the machine’s code and didn’t understand how it works. I imagine it’s not like a regular production machine.

I don’t need C#, right? Or would I have to make my own slime incubator instead?

near imp
#

the hands are still showing up because those are still tied to the skin color

calm nebula
#

Yup you need to set every shirt sleeveless if you want to do that

latent mauve
#

(Have you tried editing Data/Shirts to tell it "HasSleeves" is false for the new "shirt"?)

calm nebula
near imp
#

-# TIL we have a Data/Shirts and not just a black box of cursed shirt-ness SDVkrobusgiggle maybe time to look even closer at the data folder

valid folio
near imp
#

EMC catnod its a good framework

valid folio
valid folio
near imp
#

if EMC does it then you wont need C#, no?

#

can json your way to happiness

#

*happiness may vary

valid folio
valid folio
vale holly
#

@spice inlet Hi, I hope its okay to ping you, there is a bug in the quick save mod where the buff effects will get increased on every save and load, I traced it to the buff constructor adding the buff effects twice

public Buff(string id, ... BuffEffects effects = null, ...)
{
  this.id = id;
  ...
  BuffData buffData;
  if (id != null && DataLoader.Buffs(Game1.content).TryGetValue(id, out buffData))
  {
    ...
    this.effects.Add(buffData.Effects);
    ...
  }

  ...

  if (effects == null)
    return;
  this.effects.Add(effects);
}

I submitted a merge request to your gitlab repo, though I'm not sure if this is the best way to fix it.

valid folio
#

Is Data/Monsters used to edit monster drops?

calm nebula
#

Yesish

valid folio
#

Ty

thorn hollow
#

I set the Minimum and Maximum damage of a custom weapon to 0, but it keeps doing 1 damage anyway?

Crit chance and crit multiplier are also set to 0. I also tried it with only my mod and content patcher installed, so I don't think it's another mod causing it either.

valid folio
#

If I create my own slime incubator, can I set my slime eggs to have a different processing time than the ones in the game?

nova gale
#

As for your other question, a standard incubator does not require c# for basic things, but the basic thing is pretty much producing a farm animal

torpid sparrow
#

i feel like u could change the processing time of the existing thing

#

im not sure just my intuition

toxic topaz
#

id guess that it might be rounding up or something

royal stump
#

">= 0" is used in some final damage calculations, so -1 or lower might help, yeah

brittle pasture
#

so you can just use that

#

just in case I'll reiterate this is with EMC's custom slime incubator feature

thorn hollow
valid folio
brittle pasture
#

yes

valid folio
fierce vault
#

Wem, if you’re here, I’m curious how long you were working on tilly before release

thick canyon
#

@stoic blade Heyo, I hope it's okay - I submitted a PR to UI Info Suite 2 Alt. Better Junimos - Hut Range, integration

torpid sparrow
#

hard to say

#

i started tilly last year

#

and i dont remember how long i worked on it

#

let me check when i started working on tilly this year

fierce vault
#

that’s fair

torpid sparrow
#

i took a very long break from tilly

fierce vault
#

I’m going to have a hard time answering that question about my next npc mod for similar reasons 😅

torpid sparrow
#

july 2025

#

and then i talked about it again in september

#

and then february 28 i said i was gonna release and i released march 1st hmm

fierce vault
#

Ah, ok

torpid sparrow
#

i thought i said her name more

#

let me check smc

severe cairn
#

girl changed vibes in this pic haha

fierce vault
torpid sparrow
#

uhh from inception to first publishing

#

id say about 4-6 weeks

fierce vault
#

oh, alright

torpid sparrow
#

i think 4