#making-mods-general

1 messages · Page 95 of 1

tiny zealot
#

speaking of good mod names,
Your cat becomes a crab and your horse becomes a shark with human legs wearing red sneakers

uncut viper
#

(/j i know you're on break)

tender bloom
#

there's a reason I made my commands in C# vl.commandName

#

I got sick of typing

uncut viper
#

oh thats a real mod

#

i thought you were making a joke

next plaza
#

After all the other SMAPI/CP PRs ideas I have

royal stump
#

it's also an XNB mod, so I have no idea if it's compatible SDVpuffermlem

next plaza
lucid iron
#

i thought this is already in the autocomplete console

next plaza
#

Nope

next plaza
#

Admittedly it needs more testing besides just me

#

Why are there so many conflicts now

calm nebula
lucid iron
#

its cus pathos did the namespace thing SDVpufferpensive

next plaza
#

Namespace thing?

lucid iron
#

changed all scope level namespaces to file level

next plaza
#

Mod authors will have to manually add autocomplete support for arguments for their commands

calm nebula
#

he did a what

next plaza
lucid iron
#

yea unfort

next plaza
#

WHY PATHOS

#

That breaks all the blames

uncut viper
#

what does manually adding autocomplete support look like. like, specifying a substring that it should start to catch on?

lucid iron
#

it'd be another argument to adding console command rn?

uncut viper
#

i dont even use any commands in any of my mods so idk why im asking but i like shiny new features

calm nebula
#

like

next plaza
#

It's a new overload to the register command thing

#

To not break compat

#

Here's SMAPI's help command

calm nebula
lucid iron
next plaza
#

And here's the new overload

ivory plume
next plaza
ivory plume
#

It does, but it's only really useful in a codebase that rarely changes so the line doesn't change after it was first added (since it only shows the last edit to the line).

teal bridge
#

I love blame for quick troubleshooting. Sometimes have to drop back to history, but blame is very useful.

#

It's particularly great for answering those "wtf is this and why is it here?" questions.

half tangle
#

what happened to my SMAPI console? it's tiny and the styles are completely changed. this is very much not helpful for development...

ivory plume
#

Did you recently install or uninstall a system terminal?

half tangle
#

nope

#

Steam did download some Linux runtime something? I didn't catch it and idk where to find download history...

#

but that was done without my say

#

My main terminal window for my computer is not changed

ivory plume
#

SMAPI's launcher has a bit of logic to choose a compatible terminal:

# if user said preferred terminal
if [ "$PREFER_TERMINAL_NAME" != "" ]; then
    export TERMINAL_NAME=$PREFER_TERMINAL_NAME
else
    # select terminal (prefer xterm for best compatibility, then known supported terminals)
    for terminal in xterm gnome-terminal kitty terminator xfce4-terminal konsole terminal termite alacritty mate-terminal x-terminal-emulator wezterm; do
        if command -v "$terminal" 2>/dev/null; then
            export TERMINAL_NAME=$terminal
            break;
        fi
    done
fi

# find the true shell behind x-terminal-emulator
if [ "$TERMINAL_NAME" = "x-terminal-emulator" ]; then
    TERMINAL_NAME="$(basename "$(readlink -f "$(command -v x-terminal-emulator)")")"
    export TERMINAL_NAME
fi

If you prefer a specific terminal, one option is to specify the --prefer-terminal-name <name> command-line argument when you launch SMAPI.

tiny zealot
#

(i am in the habit of editing the launcher after install to check for my preferred terminal first)

half tangle
#

I'm so confused why it just decided to change on its own... I'll see if I can do something with that argument, but this is very... frustrating to randomly encounter

ivory plume
#

(SMAPI didn't change anything; it sounds like something in your system or environment did.)

half tangle
#

good to know - thank you for the insight, Pathos

tiny zealot
#

this order of terminal checks has been around for a long time

ivory plume
#

The order has been established through blood and troubleshooting tears. It is now the way.

brave fable
#

you should really consider exporting the tilesets of existing maps rather than redefining all tile properties and tile animations. just be aware that not every map has identical tilesets even with the same tilesheet image

lucid iron
#

cam you can try the thing to open smapi in current console

rain basalt
lucid iron
#

set SMAPI_USE_CURRENT_SHELL

rain basalt
#

All the other things like dirt water passable transferred

lucid iron
#

i do this always because i never figured out how to get smapi to use something other than xterm

half tangle
#

where do I set that?

lucid iron
#

env var

ivory plume
#

(You can use --prefer-terminal-name to use something than xterm.)

lucid iron
#

unsure how u do it on windows though blobcatgooglyblep

half tangle
#

I'm on Linux

lucid iron
#

then just do export SMAPI_USE_CURRENT_SHELL=true DokkanStare

ivory plume
#

(Content Patcher 2.4.2 is now released with fixed CustomLocations support.)

half tangle
#

frustratingly I cannot get any of this to work... of all days...

tiny zealot
lucid iron
#

it would work if i use SMAPI_PREFER_TERMINAL_NAME, but at that point SMAPI_USE_CURRENT_SHELL is more convienant anyways

half tangle
lucid iron
#

r u running StardewModdingAPI or "Stardew Valley" (which is a bash script after smapi install)

ivory plume
#

I think Steam might have its own internal Linux terminal, which that might be?

half tangle
#

I'm running through steam so I assume "Stardew Valley"

tiny zealot
lucid iron
#

oh yes the SMAPI_USE_CURRENT_SHELL thing is only applicable if u run from a existing shell

#

try SMAPI_PREFER_TERMINAL_NAME instead then

#

give it whatever term emulator name u have

calm nebula
#

Or put it in your bashrc

lucid iron
#

konsole for kde

calm nebula
#

Or something

#

Real men put it in the system bashrc

lucid iron
#

getting the env into steam's launching is always a lil funky

half tangle
#

throws computer out the window

woeful lintel
#

*out the linux

lucid iron
#

w/e terminal u like

half tangle
#

I'm currently reinstalling Steam...

#

...and Stardew

#

why is Steam telling me that a "compatibility tool failed" when Stardew runs natively on Linux... nothing makes sense, everything is a lie

lucid iron
#

did u have proton checked LilyDerp

half tangle
#

yeah

manic shoal
#

Does anyone know whether the Farmer Portraits for 1.6 reactions are coded to use the alias ($h for happy, $u for unique, etc) or the actual number IDs ($0 for the top left, $1 for top right, etc.)?
It's a little confusing because the reaction template uses numbers in the example custom reaction, but the specific example uses the number "3" for Krobus' angry expression (his angry expression is $5). The numbers in the template seem to just correspond to the order they put the farmer portraits in, nothing else.
Honestly, I think the code must be using the aliases, but I'm hoping I'm wrong. I want to make it so I can have the farmer react according to the numerical ID not according to the alias, because the alias doesn't always match up as you'd expect, even with canon characters, much less with added characters.

half tangle
#

no????

lucid iron
#

gotta uncheck

half tangle
#

it unchecked

#

itself

lucid iron
#

mystery

half tangle
#

it has always been checked.. I have been playing for years and developing for months

lucid iron
#

it just means u played windows version of sdv this whole time i guess yggy

half tangle
#

(I am not annoyed at anyone here, to be clear... just not a fun thing to do right now)

lucid iron
manic shoal
# lucid iron do you know where the unofficial update's source code is

Yes, assuming we're both referring to the source code that's linked from the Nexus page- Aedenthorn's version now run by MistySpring. However I've only done Content Patcher type modding and don't really know C#. Do you have any advice for finding the information in the source code?

lucid iron
#

I suspect it just uses numbers, didn't see any particular code about alias

#

You can probably find out faster if you just try in game LilyDerp

manic shoal
#

Yep, that's what I was looking at too. I appreciate you looking through it for me. 🙂
I had been using it in in game, but that's what confused me because I kept running into instances where my farmer's reaction portrait didn't seem to match with what I'd expect from the NPC's portrait. I think I'll just have to start taking screenshots of every time that happens and compare them with the character's portrait sheet to figure it out for sure. Thanks!

wide lake
#

What's changed to make this fail?

Texture2D originalTexture = Game1.content.Load<Texture2D>("Maps\\TownIndoors");
uncut viper
#

that was removed in 1.6.9, that sheet

brittle pasture
#

part of the Purge of the unworthy (aka tile sheets unused by the game)

brave fable
#

why were you using TownIndoors? SDVpufferchicksweatsip

wide lake
#

Would be nice for that to be mentioned on [[Modding:Migrate_to_Stardew_Valley_1.6.9]]

wide lake
brittle pasture
#

I'm 78% sure there is a duplicate checklist icon somewhere in cursors

brave fable
#

i'm sorry SDVpufferpensive i don't make the rules

velvet narwhal
#

i could've sworn it was in the changelogs somewhere but i could also be hallucinating it and just saw the removal when pathos dropped it here

uncut viper
#

it just says "Removed unused assets and translations"

brave fable
#

i think the list of removed files was only sent in here, but someone with the git diff could edit the migration page to include a more comprehensive list

velvet narwhal
#

yeah that's fair

#

day 3 of still not figuring out why i can't repro this problem

brittle pasture
#

this might be it

ivory plume
#

I didn't realize people were actually using the ancient leftover sprites. I guess I'll document an XNB impact section for 1.6.9 tonight.

brave fable
#

i suppose even windows 98 still has a market share

uncut viper
#

tbh with how long theyve been there im actually surprised theyre not used more

wide lake
#

I probably should have quit using it once I made made my own icon rather than keeping the janky looking thing just to avoid disturbing any users who had gotten used to the ugly ToDew Mobile Phone icon.

brave fable
#

8 years...

brittle pasture
#

Hyrum's Law strikes again

brave fable
velvet narwhal
#

honestly it might be a shock to the other language users though i still don't know if even they use it

brave fable
#

you likely exported them from the 'wrong' map

rain basalt
#

lol probably I have so many maps I should just make a master export for my project

ivory plume
#

The deleted assets are now documented. I'll document the other asset changes once the dust settles a bit; that'll take longer since there's a lot of content changes in 1.6.9.

calm nebula
#

how dusty is it?

ivory plume
#

Very dusty, but much less so than 1.6 was. I think things should start settling within a few days, particularly once the main framework mods get updated.

velvet narwhal
#

(afaik from logo's list the dust is pretty a-ok, i don't know of the visual bugs but the smapi log is relatively ok)

half tangle
#

huh, I missed that SMAPI is up to 4.1.4 now

teal bridge
#

There's an Old Spice meme in here somewhere.

brave fable
#

SDVpufferfish SDVpufferpensive SDVpufferfish
1.6.8 1.6.10

ivory plume
#

The upcoming SMAPI 4.1.5 will mark these mods incompatible:

  • Json Assets ≤ 1.1.18
  • Swim (FlyingTNT) ≤ 1.6.4
  • TMXL Map Toolkit ≤ 1.24.3-alpha.20240226

Have any other mods being causing load crashes or similar?

calm nebula
#

Stf (same reason as JA iirc)

#

Happy Home Designer too (but the version currently on Nexus works) (so versions before but not including 2.2.0)

brittle pasture
calm nebula
#

Uh. Birb mod (forgot name, forgot versions)

velvet narwhal
#

Ornithologist Guild..... uhhhhh
1.9.2

calm nebula
rain basalt
#

My bare minimum mod building set of mods are just fine no crashes or red text to report till I forget a comma again

devout otter
#

It's not crashing the game, but "Heart Event Helper" completely removes any dialogue option in 1.6.9, making users unable to progress through mandatory dialogue options like during the Egg and Ice festivals.

ivory plume
#

Yeah, I think that's serious enough to mark it incompatible.

faint ingot
#

I have a question (or maybe a bug report?) about modding special orders... this is the section of my code: "Objectives": [ { "Type": "Collect", "Text": "{{i18n:SpecialOrders.FineMead_CollectText}}", "RequiredCount": "6", "Data": { "AcceptedContextTags": "item_mead, quality_iridium", } }, { "Type": "Deliver", "Text": "{{i18n:SpecialOrders.FineMead_DeliverText}}", "RequiredCount": "1", "Data": { "AcceptedContextTags": "item_mead, quality_iridium", "TargetName": "Shannon" } }, { "Type": "Donate", "Text": "{{i18n:SpecialOrders.FineMead_DonateText}}", "RequiredCount": "5", "Data": { "DropBox": "PierreBox", "DropBoxGameLocation": "SeedShop", "DropBoxIndicatorLocation": "18.5 27", "AcceptedContextTags": "item_mead, quality_iridium" } } ],

#

The "deliver" and "donate" sections work fine, however collecting the iridium mead from casks does not trigger the collect objective

brittle pasture
#

are the mead being added into a stack or a fresh item slot

faint ingot
#

I tried creating them with the debug item, when that didn't work I created the honey with debug item and then got the mead out of kegs

#

same result

brittle pasture
#

and you cleared your inventory beforehand?

I have heard reports of machine special orders being rather finnicky before.

faint ingot
#

yes there was no mead in my inventory before

#

just tried it where I wait for the honey out of beehives, then keg, then cask, still doesn't fulfill the collect requirement. The only weird thing I'm doing is using fairy dust to accelerate the cask, but that's kind of what I expect people to do or it is hard to complete in time.

#

worst case I can just drop the collect requirement, it's not like many people are going to be hoarding mead

shut bane
#

I have a Harmony question: I manage the Farming Tools Patch on nexus, and it currently conflicts with Chargeable Resource Tools. I use a Harmony Postfix, and the other mod uses a Harmony PatchAll. Does anyone know off the top of their head if I can do anything to mine to make the two mods coexist?

uncut viper
#

patchall just runs all the patches it finds in your mod based on the parameters you set, its not a kind of patch

#

a postfix will always run after the original function even if another mod patches it

#

you'd have to look at what their actual patch is doing and whether its a prefix or if theyre circumventing whatever function it is completely or what

velvet narwhal
shut bane
#

I'm not great at working with code, but I see prefix and postfix in that folder, in the ...beginusing... and ...dofunction... .cs files, respectively

uncut viper
#

if its a prefix that returns false then the original function its patching just will not run. so if you want to make it compatible you'd need to just make sure your code still works in a postfix even if the original doesnt happen

#

the exact nature of making it compatible is entirely dependent on you, your mod, their mod, and what the expected functionality of both mods is

#

there is no magic "make them coexist" function to make the patches work together if they currently dont

shut bane
#

Drat. I was kind of hoping I could just use a different Harmony method lol. I guess this is an opportunity to learn more coding.

inner harbor
#

I hope the disused (in vanila) tracks were not removed.

velvet narwhal
#

was it it's own tilesheet?

inner harbor
#

no the music!

velvet narwhal
#

oH music SMCKekLmaoDog

#

i thought you meant traintracks or something

inner harbor
#

Sappypiano, Starshoot, archaeo. I love them (and use them all)

uncut viper
#

pathos added all the deleted ones to the migration mage and its just tilesheets and such

#

mage? page

inner harbor
#

yeh the only one of those I've even looked at was the Wizard one

velvet narwhal
#

yeah it's just tilesheets

inner harbor
#

I got perplexed at farmhousetiles then realized there is also FarmHouse_Tiles which was the one I have used.

uncut viper
#

that perplexement is probably for the same reason why they flew under the radar so long

hallow prism
#

they arent new item per se, they are old items with new quality

#

so i don't believe it's a bug, and i'm not sure there's a good workaround

#

you CAN ask to just collect no quality mead, but then it'll be not the same than the one you age since aging takes time

velvet narwhal
#

i think i've mistakenly used it once and went "nah, yeet that"

fast urchin
#

Friends, I want to add in-game minigames to my own festival, but I don't know exactly how to do it. Please forgive me, I am new to mod development.

hard fern
#

😔 how do people actually manage to finish making npc mods...

uncut viper
#

(tbf, i think ive seen more people in this channel start them than finish them...)

hard fern
#

real

brave fable
#

everyone starts with the fun part they're good at, and then eventually they hit the hard part they'd rather ignore forever

hard fern
#

events

uncut viper
#

maps SDVpufferpensive

brave fable
#

interesting content worth justifying having made the characters and maps other than pure self-indulgence

hard fern
#

honestly the part im dreading is sprites 😭 specifically animations

#

this is why my npc still is abby XD

brave fable
#

oh yeah those suck ass. you don't have to make more than one though really

brave fable
#

the only advice you can really give is look at classes inheriting IMinigame to get the basic workflow down, and from there it's purely on you to make something interesting and amusing

fast urchin
#

Thank you. The problem I am currently encountering is that after ending the mini-game, my character disappears directly, resulting in the inability to perform any operations.

hard fern
#

😔 i cut down my npc's dialogue by a good bit why is life so hard

brave fable
#

maybe check out FishingGame.cs:unload() and call the same methods?

#

it makes a point of resetting player control on minigame unloaded

fast urchin
#

thank you for your help!!!

silk flicker
#

Mods are made in C# right ?

vernal crest
#

Some mods are. Many others are made with Content Patcher (using JSON)

silk flicker
#

What's Content Patcher ?

vernal crest
silk flicker
#

Making mods without knowing how to code ?

vernal crest
#

Yup

silk flicker
#

So most of people use that i reckon

vernal crest
#

Nearly half of all mods for Stardew are using Content Patcher

silk flicker
#

What do you use ?

#

I have so much time to kill during the next 5 months so I might learn C#

vernal crest
#

The barrier for entry is a lot lower and even people who know how to program often use CP as well for the data side of their mods (if they have any).

#

I primarily use Content Patcher but am also learning C# to add C# components to my mods

silk flicker
#

Okay that's cool

#

And how do you find inspiration to make mods ?

vernal crest
#

People do it lots of different ways. I personally make things that I want to play with in the game (so mostly NPC-related stuff) but also if someone else is talking about a fun idea in here I might also get involved.

#

!modideas Some people look at the ideas list on Github

ocean sailBOT
#

If you have a mod idea that you aren't planning to make yourself, you can put it in the mod ideas github: https://github.com/StardewModders/mod-ideas

However, this does not mean anyone is guaranteed to work on your idea—modders who are looking for ideas sometimes go through and work on what they find interesting off this list. If you want to pay someone to make your mod idea, there are a few people who do commissions (mostly art, sometimes code); you can ask around, search usernames for the word comms, or see !commissions.

silk flicker
#

Thanks for sharing !

vernal crest
#

!startmodding You're welcome :) Here are some places to look for resources to help you start modding.

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.

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.

woeful lintel
#

that's going to require a lot of C# code

#

oh god, I wasn't at the bottom of the conversation, sorry for the ping

silk flicker
#

For example, the mod to see the amount of completion of a skill level, is CP or C# ?

vernal crest
#

C#, I'd say

silk flicker
#

Oky

proud wyvern
#

funnily enough that's a hard thing to do in a way that makes it compatible with potential mods that change the required XP

#

skill level ups are coded very weirdly

hard fern
#

SDVpufferflat i hate harvey's schedule so much

vernal crest
#

Why?

hard fern
#

😭 for so long i was trying to figure out "where the hell does this man keep going when i need him"

vernal crest
#

Like you were in game and didn't know where he was?

hard fern
#

yeah

#

welp now i can stalk him- imean

#

locate him

vernal crest
#

The mod Schedule Viewer and debug command debug whereis Harvey would've both been helpful for that

#

Also debug wtc Harvey to just warp right to him

hard fern
#

😔 i forget debug commands existed ngl

#

im a lil rusty

vernal crest
#

I can't imagine doing mod dev without them

#

Almost all of my testing in game is primarily just using debug commands while my farmer stays in bed in the farmhouse

fast urchin
#

So do I

hard fern
#

🙃 Paragraph worth of mattress discussion in my summer dialogue. fun

woeful lintel
#

If I ever make a custom NPC, they'll be a dev and all their dialogue will have them rubber-ducking on the player. The dialogue options will have abolutely no effect on friendship because they're too focused to listen to the answer anyway.

fast urchin
#

How can I make the map added using CP call my C# code?

zenith robin
#

what are you trying to do with the map that it needs to call C#?

fast urchin
#

When you right-click a tile on the map, you can open a dialog box, and when you answer yes, you can play my mini-game.

calm nebula
calm nebula
fast urchin
#

Thanks

acoustic summit
#

AKA no c# required, but yeah!

lucid iron
#

But they want to launch a minigame, presumably written in C# already

acoustic summit
#

oh

fast urchin
#

That's right

acoustic summit
#

I am silly

#

My apologies

rancid temple
#

Can you even create a question dialogue box like that with just trigger actions? I'm not seeing one for it

acoustic summit
#

I somehow missed that end part

fast urchin
#

It's okay, thank you for helping me

rain basalt
#

SDVpufferwaaah I’m working on a project and while working on this project I’m learning and as I’m learning I’m getting more ideas … for other projects … and now I have 3 notebooks full of ideas I wana do …. But not the time to push them out SDVpufferwaaah

vernal crest
#

There's no rush, is there?

rain basalt
#

My mind says no rush my heart says must do it all

hard fern
#

😔 i get it

#

<- hasnt finished npc, already getting ideas for more

tiny zealot
#

having too many projects is definitely a mood

vernal crest
#

Yeahhh

#

It has been so long since I have used my desktop folder I don't even know where it is

#

Users seems right

shut grove
#

I'm wanting to add a small path near the Wizard's tower and a basement to the Museum, but don't know how patch files work.

#

I know how to use tiled and such, I just don't know how map patches work since I don't think I need to edit the entire vanilla maps.

#

plus I'd like my path in cindersap to be compatable with SDV Expanded

vernal crest
#

You will need to edit the vanilla maps in order to add ways to get from the vanilla maps to your maps

#

Unless you wanted to use Bus Locations, Train Station, a warp toem etc

#

Taking the bus to the museum basement would be amusing

shut grove
#

so, this kind of edit does need to be on the actual map

vernal crest
#

Yes you need to write an EditMap code block to patch Maps/Forest with your map at that specific place on the forest map

#

In fact I have a mod that patches almost that exact spot (we would definitely conflict lol) so I can show you what I have

shut grove
#

when I say edit the vanilla map, I meant in tiled

vernal crest
#

Oh no

shut grove
#

because right now I have the entire forest map loaded in tiled

#

that's how new to making map edits i am

vernal crest
#

You open the vanilla forest map to make your patch, limiting your map's size to as small as possible, and then you use CP to patch it over the forest map in the game files

#

I will show you my .tmx file for mine

#

If you see the bush at the bottom of your image - that's the bush that's at the top of mine

#

So that's my entire map

shut grove
#

ah

vernal crest
#

16 x 12 tiles

shut grove
#

your path is just below the bush and mine is just above it lol

vernal crest
#

Yep lol

#

Don't stress about it, you can never avoid conflict with someone

#

It's just amusing that in this case it happens to be the person helping you lol

rain basalt
#

There’s a couple ways one is target area patching or overlay patching or replacing whole map with another map

vernal crest
#

Absolutely do not replace an entire vanilla map with your own map unless you hate everyone

shut grove
#

I'm making a witchy grove, so the entrance being near rasmodius made sense to me

rain basalt
#

Target is best way replacement is easiest

vernal crest
#

Yup that definitely makes sense!

devout otter
#

(Bear in mind that your entrance is exactly where the path to Lunna's place is, if you care about mod compatibility.)

shut grove
#

Lunna's place?

vernal crest
#

(Which of us, Dolphin?)

long jungle
#

Just a question, as I cannot find any information anywhere else...

Regarding Weapon Stats, what are the current effects of

Precision

and

AreaOfEffect

and are they applied in any way to the current vanilla game?

rain basalt
#

Read through that will help you pick best method for you

devout otter
devout otter
shut grove
#

that's kinda funny, one of the npcs I'm adding is named Luna lol

rain basalt
shut grove
#

I plan to add a witch, slime rancher, and fisherman

#

I'm also looking to make new pet types

#

I have a better grasp of that right now though

vernal crest
#

Did you want to see my json for patching that part of the forest?

shut grove
#

sure

#

I was also looking at other mods that patch areas, like lumisteria which modifies the museum. if I leave tiles totally empty in my map, will it leave them unedited?

vernal crest
#
        // Edit Forest map to add National Park entrance - LITE version
        {
            "LogName": "Edit National Park entry into Forest - Lite",
            "Action": "EditMap",
            "Target": "Maps/Forest",
            "FromFile": "assets/maps/Aba_Forest_Lite.tmx",
            "PatchMode": "Replace",
            "FromArea": {
                "X": 0,
                "Y": 0,
                "Width": 15,
                "Height": 11
            },
            "ToArea": {
                "X": 0,
                "Y": 41,
                "Width": 15,
                "Height": 11
            },
            "AddWarps": [
                "-1 48 {{ModID}}_NationalPark 59 31",
                "-1 49 {{ModID}}_NationalPark 59 31"
            ]
        },
vernal crest
#

I set mine to replace because I was having issues with vanilla tiles bleeding through but I think that was just because I didn't realise that some tiles are only visible in some seasons (grr summer bushes) so I had a bunch of invisible tiles in some seasons and then random bushes in my cliffs in other seasons lol

#

So I will go back and probably change mine back to overlay later

#

The less intrusive you can make your map patch, the better for mod compat

mighty ginkgo
acoustic summit
#

Percision and miss % are inverse

rain basalt
#

Yah overlay checks layer by layer and only replaces changed tiles so to stop bleed through add a blank tile to a layer to have it removed

shut grove
#

yea, for my museum basement idea, I might make a conditional patch like I saw another mod do to move my basement further down if people have Visit Mt Vapius

acoustic summit
#

No vanilla monsters have a dodge chance, so percision dosnt do anything

shut grove
#

to make sure I understand properly "FromArea" is in the map I make and "ToArea" is where the top left corner of the map will be placed?

final arch
#

Am I misunderstanding CP Tokens?
how can GenderNeutralRSV be unready when its defined like this:

        {
            "Name": "GenderNeutralRSV",
            "Value": "",
        },
        {
            "Name": "GenderNeutralRSV",
            "Value": ".GN",
            "When": { "HasMod |contains=Hana.GNMTokens": true }
        },```
#

ok somethings hella fishy 🤔

vernal crest
final arch
#

are CP Tokens broken?

vernal crest
#

In the patch parse

final arch
#

mhhh oh maybe

tiny zealot
#

yeah i think for dynamic tokens you have to give your mod id

vernal crest
#

From CP page: patch parse "assets/{{Variant}}.{{Language}}.png" "Pathoschild.ExampleContentPack"

#

No that's not how you do it

final arch
#

ah nvm :p

#

yeah forgot mod author UGiggle

vernal crest
#

Don't worry I ran into the same issue when I started using patch parse and it took quite a while before I could figure it out

shut grove
#

just double checking the advice from the wiki, for mod id stuff that uses numbers, I should use my Nexus mod page number followed by ###? so like 12345###?

vernal crest
#

I still usually have to give it a few goes before I can get a patch parse command working properly but it's so handy once I've got it down

final arch
#

no wait Im still confused

vernal crest
#

The only ID I remember still requiring numeric is for secret notes

#

Which is why everyone should use ichor's secret note framework for doing secret notes (plus all the nifty features he adds)

devout otter
#

Sorta related question. Is heavy use of dynamic token taxing for game process? I'm at 35 now - 15 of them with random values - and am getting worried.

vernal crest
final arch
#

yeah figured it out 👍

#

ty :3

#

the ID/Token is apparently only for C# tokens

tiny zealot
vernal crest
shut grove
#

I can't remember sorry, I've looked through so many other pages since then

vernal crest
#

That's fine I'll add it to my to do list and go cruising later

shut grove
#

I just remember it mentioned using nexus page number or equivilent modding site's page number

#

I assume I do at least put my nexus page number for the update keys?

vernal crest
#

Yes that used to be the advice before 1.6 changed to string IDs

#

Yes that's correct and the wiki has a page on how to do that

#

Don't publish your mod page just to get the Nexus ID though

#

You can make a page and leave it as a draft

shut grove
#

I know, that part was in the bad advice lol

vernal crest
#

Oh man I did not realise we had a page of advice for releasing as well. I wish I had known that before releasing two mods lol

frozen elm
#

How problematic is it to change collision and entry position when making a farmhouse building skin? I know the spouse stands to the right of the door and there's the lumber pile position to get the card, but is there something else I am not aware of?

long jungle
long jungle
eternal mortar
#

is smapi working yet? i need to test my map lol, ik it was down or something yesterday.

rancid temple
#

It had a rough update but it should be working fine now, just make sure you're all up to date

eternal mortar
#

kk do i need to go update it?

rancid temple
#

Probably, it's on 4.1.4 now

eternal mortar
#

ok, im just gonna confirm, updating is the same as installing it, right?

lucid iron
#

Yeah

rancid temple
#

For SMAPI yes

eternal mortar
#

alright thank you

rancid temple
#

This template sure would have been handy when I was trying to figure out how my stupid page layout should look lmao

balmy flare
#

@lilac niche hi, update tmx pls!

whole raptor
#

Please stop pinging authors for updates... also TMXL is mostly obsolete..

cedar turtle
#

That aside, some mods just are dead as nomori pointed out

iron ridge
#

!converters

rancid temple
#

Platonymous is indefinitely out of country isn't he?

tiny zealot
rancid temple
#

If any of his mods die, they're probably staying that way because I don't know anyone who wants to pick up that heat lmao

#

It attracts such lovely people after all

tiny zealot
#

i would not want to be responsible for reviving TMXL

whole raptor
#

Would there even be a reason to?

iron ridge
#

lua

#

that's it

tiny zealot
#

the only one i can think of is to support equally ancient NPC mods who depend on it and can't be updated

drowsy lake
#

Hello
Sorry to bother- wanted to ask
currently using EvenBetterArtisanGoodIcons and i see that there are 6 types of honey
I also downloaded a mod called Quaint Living Flower Garden 2 which adds a bunch of flowers.

Currently the new flowers are making honey, but the icons will always be "ild flower" types, even if the game says it's a different honey (I.E: lavander honey)

If i want EBAGI to be applied to the new honeys with a brand new icon just for them- should i add the new honey types icons to the little honey.png in the ebagi folder in ebagi assets and then add the corresponding flower type name in the data.json of ebagi?

whole raptor
# iron ridge lua

Ah, forgot about that tiny part of modding 😅 The only mod I know that uses it is the All Might one iirc SDVpufferthink

shut grove
#

the id thing might have been on the event data page, because I found where I used it in my mod

#

the one saying to use the nexus mod page number

tiny zealot
lucid iron
#

I feel like real old npc mods have slew of other problems and fixing tmxl won't fix any of that

tiny zealot
tiny zealot
lucid iron
#

I don't really know how wide spread lua tile actions are bolbthinking

shut grove
#

I was looking up my event's id so I could make a conditional door that checks for it

#

that's how I found it

lucid iron
#

Esp cus u can just register custom tile actions (with C#)

shut grove
#

idk C#, so I made a bunch of "tile data" objects

lucid iron
#

Sorry I was discussing tmxl not your mod DokkanStare

shut grove
#

ah

lucid iron
#

I do like the idea of tmx buildables though

shut grove
#

just to check, if I place tile data with this in it as a "TouchAction" property, then it should block the player until they see the event? "TouchAction ConditionalDoor PLAYER_HAS_SEEN_EVENT Any {{ModID}}_LunaIntro"

#

and then I place another tile data in a layer under it with the text displayed for the conditional door?

#

or do I put a property unde the current property?

rancid temple
#

This is for a tile you walk onto?

shut grove
#

yea

#

I want it to tell the player the path is covered in brambles so it can't be passed

#

until they see an event

rancid temple
#

Assuming it's on the Back layer you can simply place another property on that data

#

I don't think I finished adding the Back version of that to the maps page

#

I was waiting for 1.6.9 since Pathos had to fix that

shut grove
#

and do I need "touchaction" in the property itself, or just as the proerty name?

rancid temple
#

Maps/AdventureGuild actually has an example of it in use

#

It has both an Action ConditionalDoor on the Buildings layer and TouchAction ConditionalDoor on the Back layer with LockedDoorMessages on both, so you can see how it works

#

The property name or key for the ConditionalDoor is TouchAction in this case, but for the message that's displayed it's LockedDoorMessage

whole raptor
#

Did we have TerrainFeatures/BuffsIcons asset in previous versions..? Like pre 1.6 SDVpufferthink

final arch
whole raptor
#

Oh so it was just deleted, I was confused why original Vintage v2 touched that

#

Is smapi gonna throw errors now that older mods are trying to edit a non-existing asset or is that somehow handled by smapi? SDVpufferthinkblob

shut grove
#

I forget, can the player walk under these tiles?

rancid temple
#

I feel like most likely errors, I don't even know if there's used variants for all the ones that were removed

shut grove
#

the cliff top tiles

rancid temple
#

Sometimes, depends on where it is

rain basalt
rancid temple
#

And how it's been placed

rain basalt
#

O cliff tiles yes if there back and don’t have passable f

#

Building later by default is not passable

rancid temple
#

Passable doesn't actually care what you put where the T or F is

#

It needs a value to exist but you can put anything and it's never used

#

It's just the existence of Passable that matters

shut grove
#

so, to make impassible spots, put it on the building layer

rancid temple
#

Also, Front or AlwaysFront, also don't have collision and they render in front of things, usually

#

You can make Back tiles impassable by putting Passable X tile data on that tile as well

#

Maybe I shouldn't say X tile lmao, seems too close to xTile

rain basalt
#

Yah I do that with some water tiles so you can’t walk off the bridge into water

shut grove
#

I just copied some of my back tiles to the building layer

rancid temple
#

Yeah, usually it would only matter for like water since I don't think you can fish on Buildings tiles

rain basalt
#

Got a strange map question can I use the same map and load it in under multiple names to cause different references?

shut grove
#

good to know since I'll need to deal with that when I make my first full map

rancid temple
#

You can Load one file to as many Targets as you want

rain basalt
#

K and it renames them based on load info I’m guessing

tiny zealot
#

alright, somebody else can edit the event data wiki page. i tried to follow the directions to do it right and got spamblocked

shut grove
#

for adding new "off map" warps, do I need to put them on the vanilla map I'm patching, or can I put it on the Patch itself?

rancid temple
#

Target is the name of the asset you are creating, essentially

#

Unless you Target an existing asset, in which case you are overwriting it

rain basalt
#

Kk SDVpufferheart

#

Me personally I’d patch directly to vanilla map warp properties

rancid temple
#

For warps that aren't in the regular map area, you should use AddWarps, one second

#

Otherwise, if you were to try to patch in a TileData where a tile didn't exist it would just silently fail to exist at all

#

And if you tried to add a tile to the outside of the map it would expand the map

shut grove
#

so I figure out the X, Y that lines up with my patch, and in the map properties thing I do add warp to that area

whole raptor
#

This query should work, right? I don't think I used AND before for mods
"Query: '{{Spiderbuttons.CMCT/Config: ...}}' = 'enabled' AND {{Spiderbuttons.CMCT/Config: ...}}' = 'enabled'": true

rancid temple
final arch
#

I swear the custom token is bugged but I cant repro it on smaller examples puffer_cry

final arch
#

but no idea what Im missing

calm nebula
#

I can probably do it when I'm home

#

In estimated 8 hrs

leaden sierra
#

Hi guys! I want to start making simple mods, does anyone have a tutorial or something to know where to start?

calm nebula
#

!startmodding

ocean sailBOT
#

Making mods can be broadly divided into two categories:

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

leaden sierra
#

Cool, thanks!

tiny zealot
calm nebula
#

Coolio!!!!

whole raptor
#

What would I need to look for in the mod's source code when I want to check if an asset used by C# mod can be edited by CP? If it's even that simple SDVpufferthinkblob

rancid temple
#

AssetRequested is a good place to start

tiny zealot
#

if your SMAPI is in developer mode, you should get visible log messages whenever a mod edits an asset. if you see it there, it has gone through the content pipeline and should be editable

rancid temple
#

That's neat

lucid iron
#

u can also check ur own log file

#

i find that easier personally, esp with log parser

tiny zealot
#

(i believe they appear in the raw log anyway, but developer mode shows them in the active terminal)

whole raptor
#

Oh, it's definitely good to know

whole raptor
#

Okay, so out of the mods I need to edit only GMCM allows editable buttons, at least something
FS, I believed in you SDVpuffercry

old edge
#

Hello I managed to create my own bus stop logic. But it's set to left mouse click on the ticket machine at the bus. I guess normally you right click?

rancid temple
#

Yeah, generally right click is interact

old edge
#

Hmm how do I make it occur with the action button or right mouse click? Also preferably after the main dialogue of taking thr bus to calico desert

hexed siren
#

Apologies if this has already been discussed, but is ${male^female^neutral}$ no longer working as of 1.6.9? It's only showing male for me now. I know the neutral never worked, but it never hurt anything either so maybe I need to remove that now? I'll add a token if I have to but would rather avoid the work if this is already a known bug and getting fixed.

tiny zealot
#

oh no

#

i hope it's getting fixed. +1 from me

hexed siren
#

Yeah it's a hefty fix to switch to tokens in my mods since they're all dialogue-based.

lucid iron
#

You needed a mod to enable neutral I believe

tiny zealot
#

gotta decompile 1.6.11 real fast to check the latest, one minute (relevant code looks identical between 1.6.8 and 1.6.10)

lucid iron
#

Since there's no way to make farmer have neutral gender

#

Wait we r on 1.6.11 already bolbphase

hard fern
#

Ye

tiny zealot
#

chu before you update can you see if they work in 1.6.10 sorry i shouldn't have asked

lucid iron
#

it is too late anyways i think steam autoupdated

analog crypt
#

Hi - im sorry if someone already asked this here: I created a few mods and since the update I cant sell artisan items anymore. I use Content Patcher for my mods. Anyone knows anything? @ivory plume

high maple
#

Hello! I there a way to make settings that are tied to the farm save you have? Like the farm settings you can change when you make a new save?

tiny zealot
#

1.6.11 also looks identical at Dialogue.applyGenderSwitchBlocks(Gender, string) so maybe something is wacky with accessing Game1.player.Gender?

next plaza
#

Hmm, applyGenderSwitch itself hasn't changed in 9-10 months

lucid iron
#

i think per save configs was brought up at one point, but dont think theres movement on that?

next plaza
rancid musk
#

Time to decomp 1.6.11 and see if it fixes any of ILSpy's weirdness~

#

Update: Nope 😄

high maple
#

would I need to do some freaky stuff in C# or is there already classes in place for that?

hexed siren
next plaza
#

Nothing has changed since 1.6.9 in Dialogue.cs at least, so either it's somewhere else, or it broke earlier than release

next plaza
teal bridge
lucid iron
lucid iron
#

the main thing is that only host has save data

blissful panther
#

Speed.

lucid iron
#

if non host need it u need to send the data

hexed siren
high maple
#

thanks so much!

high maple
lucid iron
#

yea

calm nebula
#

Also may I see a patch expoet

calm nebula
#

Also run a reload_i18n

next plaza
#

It's working for me on a 4 day old dev version at least

high maple
lucid iron
#

hm so i tried ilspycmd 9.0.0.7660-preview2 to see if it fix anything

#

it didnt but i noticed many num.GetValueOrDefault(12) became num ?? 12

next plaza
teal bridge
#

Has anyone used the "fake content packs" feature? And if so, do they know if the translation strings for those fake content packs get coalesced into the mod's main translation helper or if they have to be looked up individually?

next plaza
#

JA uses it - the feature originally got added because I requested it for easier backwards compatibilty 😅

#

I would assume that they are only in their own translation helper, like normal content packs

teal bridge
#

Woo hoo, more work for me. Thanks for the background.

hexed siren
next plaza
hexed siren
next plaza
#

Dang it, why does base game not have a debug command for running an event script directly

#

makes one

calm nebula
#

I think I know the issue

hexed siren
final arch
#

there is one that runs one from a file iirc xD

next plaza
#

Or all the commands starting with Event

#

Yeah, it's working in events for me too

final arch
#

meant that one

next plaza
#

Hmm, well, I already wrote the command...

final arch
#

(I didnt say it's useful :p)

next plaza
#

Unfortunately you have to escape your quotes because of the command parser

#

But I guess CP people are doing that anyways

frozen elm
hexed siren
next plaza
calm nebula
#

(Sorry, I'm at work. Rain check for six hours?)

hexed siren
tender bloom
#

!patchexport command has instructions SDVpufferlurk

ocean sailBOT
#

A patch export makes a copy of specific stuff in your content folder so you can see what changes have been applied.

  1. Load up a save (with Content Patcher installed)
  2. Type patch export <FILEPATHOFTHING> in the SMAPI console and hit return
  3. Look in your patch export folder in the game folder for the relevant json file or image
  4. If it's a json file, you can share it via smapi.io/json. If it's an image you should just be able to look at it.
hexed siren
final arch
#

atra you dont happen to have a utility that goes through every NPC and checks for NO TRANSLATIOn entries in their dialogue? UGiggle

hallow prism
#

patch export?

final arch
#

yes

#

well no, that'd be unecessary for a C# mod

#

but similar yes

hallow prism
#

oh, you mean at a larger scale

final arch
#

for RSV yeah

#

too lazy to patch export 30 NPCs

#

or whatever we have

hallow prism
#

yeah indeed, i can see why

final arch
#

60 with dialogue, ups

#

raf shouldve stopped sooner UGiggle

rancid musk
#

I know this isn't surprising or weird, but ILSpy 9's codegen is so much cleaner than ILSpy 7's.

final arch
#

is ILSpy9 decomp of sdv compilable?

teal bridge
#

lol

#

That's a good one.

rancid musk
#

I'm going to go ahead and using ILSpy 9 for the decomp repo until and unless Pathos comes and tells me not to. I did ping and ask before. There is a good reason though, since ILSpy 7 is really not doing well with many 1.6.9 changes. It's worth minor changes in output I think.

#

As an example of ILSpy 9 being better, this is what 7.2 gives: csharp uint realSize = (uint)(msg.m_bitLength = (int)NetBitWriter.ReadUInt32(msg.m_data, 32, numEncryptedBytes * 8)); return true; and this is what 9 gives: csharp uint realSize = NetBitWriter.ReadUInt32(msg.m_data, 32, numEncryptedBytes * 8); msg.m_bitLength = (int)realSize; return true;

#

Like yeah 7.2 I'm sure the original code has a cast, and then another cast to store a local that is then immediately out of scope because we return

lucid iron
#

what will u do with the mystery get enumerator ref

final arch
#

mhh patching into CP and emitting a warning if a i18n token has no translation would be a possibility too UBearThink

hallow prism
rancid musk
teal bridge
#

(isn't that what I suggested the other day?)

next plaza
hexed siren
rancid musk
#

Probably, I was just delaying working on the decomp because it's annoying.

next plaza
rancid musk
#

Netcode.NetDictionary.GetEnumerator

hexed siren
#

And I'm feeling very dumb since I didn't know patch export existed and it could have saved me a million hours of dialogue debugging... ugh!

next plaza
next plaza
rancid musk
#

Yeah, so nothing changed lol

#

Nice

#

Another random example of ILSpy 9 being better.
7.2: val = (long)((ulong)val >> 32);
9: val >>>= 32;

teal bridge
#

Byrefs be byreffin', what are ya gonna do.

#

Are there supposed to be three > characters there? What is that?

rancid musk
#

Unsigned right-shift

#

New as of C# 11.

teal bridge
#

Huh. I didn't realize there was a difference, thought all shifts only depended on the output type.

teal bridge
#

Oh, is val a signed integer type in that function?

rancid musk
#

Yeah.

teal bridge
#

That's a little clearer. Still, I'm doing shifts on int types (e.g. for color conversions) and don't seem to have run into anything... unexpected.

rancid musk
#

Not having double casts everywhere really makes some math heavy functions easier to read.

#

As long as your numbers aren't negative bitshifts should do exactly what you expect either way.

teal bridge
#

I only ever shift right.

#

(that sounded weird, but it's factually true)

next plaza
# next plaza Actually, SMAPI bug, 4.1.0 supposedly added support for it in translations, but ...

@ivory plume It looks like there's a maybe oversight with SMAPI translations using gender switch blocks when used with Content Patcher. I think what's happening is, if a patch has no conditions and resolves before the save loads, the i18n bakes in male as the gender (since that's what the default Game1.player has until a save is created/loaded with it otherwise) and isn't refreshed once the gender changes, since CP doesn't know the patch needs refreshing since it didn't use it the token

rancid musk
#

Okay, my plan.

  1. Use ILSpy 9 for everything, but set to C#9
  2. Do separate commits for each Stardew version .9, .10, and .11
  3. Make that one PR
  4. Re-decompile .11 using C#11 and make that a second PR
lucid iron
#

is .11 confirmed to be final patch for a while

next plaza
#

Define a while

#

Bug fixes are still happening

rancid musk
#

I'm sure it's the next patch for at least 30 minutes

lucid iron
#

a while as in more than 2 months i suppose

#

so that khloe wont have to do recompilable edits for at least that long

tender bloom
rancid musk
#

It's not a big deal.

#

There were just a few confusing things really.

tender bloom
#

I have no special knowledge, to be clear

#

I just have some instinct that there's no way we've already shaken all the bugs out, 2 days after release day

teal bridge
#

This wasn't the Modpocalypse, but it might be the Patchpocalypse.

whole raptor
#

Is there a command for getting ||Farming Mastery||?

next plaza
#

Yeah, I definitely don't think we're waiting 2 months for another patch

uncut viper
#

if not you can always add like a million experience

teal bridge
#

There is for sure no command, just raise the skill.

#

(and sleep, etc.)

whole raptor
#

Hmm.. is there some other condition for it? Cause it only gave me skill lvl 10 (I have no idea how that mechanic works, since I never played 1.6 😅 )

rancid musk
#

I have been learning that ILSpy 7.2 really likes to just make shit up. For example, there's this function where the 7.2 decompile has csharp long i = 0L; and the 9 decompile has csharp long m = 0L;
I open ILSpy and check it in IL mode. The local's name is m and even 7.2 admits it. But it just... calls it i for some reason.

next plaza
#

I mean, you could increment the relevant stats if you just want points. Though I don't know that you could spend them without having all skills at max

uncut viper
#

probably need to unlock the cave first iirc

#

so all skills to 10

#

and then add more exp

next plaza
teal bridge
rancid musk
#

Another good reason to upgrade to ILSpy 9 for the decomp.

brave fable
#

ILSpy with the minor refactoring commits

whole raptor
#

Last question then... where is the cave exactly in the forest? 😅

deep cypress
#

1.6.11? New patch? On the day I started a new contract at a new old hospital and got zero sleep last nite, and work 12 hour shifts like most of the next 8 days! 🤣🤣🤣

whole raptor
#

Nvm, found it

uncut viper
#

(also can confirm now that you do need to be lvl 25 to get any mastery experience at all but i dont think you need to sleep for it since i think your lvl int updates throughout the day if you level up during it anyway)

#

oh yeah it literally updates it in the same function i was already looking at

rancid musk
#

Oh this is interesting. This float has slightly more precision on ILSpy 7.2 than ILSpy 9.
4.6566128730773926E-10
vs
4.656612873077393E-10

next plaza
#

It's amazing what computers can do these days

rancid musk
#

The fun part is those numbers are identical in the IEEE-754 standard.

teal bridge
#

What an odd decision. "15 significant digits is too much, let's reduce to 14 for usability.".

#

But as long as it's still correct.

rancid musk
#

Well, that's the only change in that file so I may as well revert it for cleaner changelogs.

teal bridge
#

Fam, we only have one day left with our event roles, right? I don't know if I can go back to Cheeto orange. The mere anticipation is giving me the shakes and cold sweat.

uncut viper
#

i think so

#

you could ask a mod to remove your orange role

#

one time only

brave fable
#

i've enjoyed wearing the most frightening costume imaginable. mod author...

#

oooOOooOo responsibilities and nexus comments

tender bloom
#

nooooo not the purple

#

anything but the purple

teal bridge
brave fable
#

beloved purple, come back to me 😌

uncut viper
#

just be like me and bank on them asking for more mod jam helper signups sometime in the future

teal bridge
#

Hmm, they already said there'd be no Christmas event, so that puts it out at least another 6 months. Probably more.

lucid iron
#

Did they have mod jam helpers this time

teal bridge
uncut viper
#

iunno, idk how much of the work wouldve been split between the mod jam helpers and the junimos since it wasnt just a modding event

#

there are still people with the roles, though

rancid musk
#

Huh. This is a bit weird on the part of ILSpy 9. Old: csharp red = SKColorF.HueToRgb(v, num, h + 0.333333343f); vs csharp red = SKColorF.HueToRgb(v, num, h + 1f / 3f);

#

While the IL just has IL_0059: ldc.r4 0.333333343

next plaza
#

I wish I could be a nice vivid blue

hard fern
#

Hey, i like being orange

next plaza
#

But alas, I am burdened with greatness (1.6 developer role)

teal bridge
#

Orange has its place, just not as an all-day every-day thing.

next plaza
#

(But even without that and mod author, I'd be a Desperado, so...)

uncut viper
#

i wonder if that also would count for the junimo "one time role removal" thing.... it IS a special role...

hard fern
#

What the hell did discord do this time 😭 i just got like a floating notification that someone reacted to my message

tender bloom
#

left blue behind long ago

#

you can get ghost pings when someone deletes the ping

#

it leaves the notif but you don't see anything

hard fern
#

No, like there was a whole notification that was at the top of my screen

next plaza
uncut viper
#

ive been stopped by slowmode maybe 2 times ever

lucid iron
#

Is it new discord feature and u r part of testing group

next plaza
#

And I'm level 1181, so there's no way I can be blue without a new unique role

teal bridge
#

I don't think I've ever even noticed slowmode. I see the icon, but it's never actually throttled me.

hard fern
#

I forget slowmode exists sometimes

#

I get bonked by it sometimes

#

Because i type too fast

teal bridge
#

Step away from the Enter key!

rancid musk
#

Press enter less and slowmode goes away

uncut viper
#

i type fast and like to split my messages into multiple lines too much

brave fable
#

you're allowed to type quickly, just exercise some self-restraint on the enter key

hard fern
#

No i love the enter key

rancid musk
#

Hold
shift
then

next plaza
#

I mean, there's stuff besides slow mode, I just mentioned it because I see the text underneath the chat bar about being immune pretty frequently here

next plaza
uncut viper
#

what do you mean other stuff
i thought slow mode immunity was the main benefit of working on 1.6

teal bridge
#

The most important benefit is obviously the red, although it is leaning a little toward pink.

next plaza
#

Though I guess not compact mode sorta merges messages

uncut viper
#

really the most important part is the mouse

next plaza
#

I don't want my icon to be a mouse, I want it to be a cat

uncut viper
#

which i keep thinking is a cat

#

its a cat if you dont know its supposed to be a mouse

next plaza
#

Sorry ichor, Lacey is a cat now. Button said so

uncut viper
#

Cat Mouse Lacey

velvet narwhal
#

oh am i finally not part of the guinea pig testing group

high maple
#

Im having some trouble detecting if the ginger crop that spawns on ginger island is on a tile. Does the game consider it an object like the artifact spot or a crop? If its a crop I cant find a way to get its value since the dirt under it isnt hoed. If its an object, I cant seem to figure out what Id it has. I dont want the ginger item itself but the crop it comes from.

lucid iron
#

Check the hoe perform action code maybe

rain basalt
#

anything major i should know about 1.6.11 lol

brave fable
#

+1 wood from pine trees 👏

rain basalt
#

omg that will break the balacing what will we do

lucid iron
#

New mod pine tree wood nerf \s

rain basalt
#

lol i was thinking the same thing

#

ill get to it after the other 9999 ideas i have

high maple
uncut viper
#

if it doesnt make a special case for ginger then that means ginger is just a crop (it is just a crop)

#

you should still be able to just get it from its HoeDirt terrain feature

teal bridge
rain basalt
#

<.< worked on project to 2:00 am i know i did stuff woke up at 6:00 am to go to work got home from work 4:30 pm and i have no clue what i was doing to 2 am any more lol so now i gotta go over all my code and figure out where i left off in my testing

#

if anyone knows what i did with my brain can you send it back to me

high maple
#

I managed to get it working by looking in terrain features

I tried using this code from the hoe's doFunction and it worked

if (gameLocation.terrainFeatures.TryGetValue(tile, out var terrainFeature))
{
    if (terrainFeature.performToolAction(hoe, 0, tile))
    {
        gameLocation.terrainFeatures.Remove(tile);
    }
}

#

its weird it does it through that but at least it works

uncut viper
#

won't that just work on everything planted that isn't ginger, too

lucid iron
#

what r u trying to do in particular think

high maple
#

magic hoeing spell XD

rain basalt
#

me secret lol

lucid iron
#

should be fine ig Dokkan

#

i did implement hoe dirt but never bothered to let u hoe places that have objects on em

high maple
uncut viper
#

that's what I meant, some hoeable terrain features might not be ginger, but I said that when I thought you were just looking to affect ginger specifically since that's what brought it up, but if it's just for a hoe spell that seems fine

high maple
#

oh! ok!

rancid musk
#

Work is done for the day, and the decompile is alive. (Granted I need to do .10 and .11 now.)

lofty ruin
#

Is there a fix to making your event fade to black and ending or is this something that happens with every mod?

brave fable
sweet sphinx
#

I would love that

teal bridge
#

10/10 mod description. What changed in 1.6, though? Those events still happen in vanilla.

lucid iron
#

20 years of modding 2021 DokkanStare

#

some people have asked about way to buy pet from the start

#

since u need to fill the hearts of your chosen at creation pet first

sweet sphinx
#

oo~ yeah, that would be a nice addition to it

ivory plume
next plaza
#

@hexed siren The issue you were having earlier ^

proud kite
#

hi folks im trying to remove a spouse room from a custom npc that has outdated maps / just set it to the default. i removed it frrom the content file and set the dispos to "SpouseRoom": {
"MapAsset": "spouseRooms"
},
but custom NPC is just standing still in the spouse room, anyone have any ideas? im on 1.6.8 legacy!

faint ingot
#

why would the NPC not be standing still? a) all spouses do that, and b) the "default" would make it abigail's room

fathom hound
#

is there a mod that has an exact equivalent of ||meowmere, with the rainbow sparkle effect included||, but for dagger/hammer? if not, how can I reskin textures that include the ||effect|| as well?

#

icant find one with those

brittle pasture
#

I believe that's hardcoded, so you'd need C# to make an equivalent dagger/hammer

fathom hound
#

i figured.....

#

guess it would be a good time to learn now

#

ty!

proud kite
#

i just tried updating by removing dispos and putting it into content sheet but hes still not moving

brittle pasture
fathom hound
#

omg yay im so excited, my first C# mod

velvet narwhal
#

~harmony crimes~

fathom hound
#

oh

rancid temple
#

I believe spouses either just stand around doing nothing or do actually plod around randomly in the house, assuming they aren't following a schedule that day

velvet narwhal
#

if it's raining they do just sit in the spouseroom the whole dang day iirc

brittle pasture
#

Harmony isn't that scary! Especially not simple postfixes

velvet narwhal
#

i found harmony easier to get into than actual c# mods, but that is my brain and i got handheld SMCKekLmaoDog

rancid temple
#

Maybe because you're restricted to changing things that exist rather than creating new things

proud kite
rancid temple
#

Though you can easily add new things with those changes lmao

latent mauve
#

Funnily enough, I didn't think spouses could path beyond the initial house square, but they totally spawn inside my custom bathroom add-on. xD

uncut viper
#

tbh a postfix is basically no real different than just normal C#

faint ingot
rancid temple
#

Well, it might matter but not because there's a schedule, if you're testing the same day over and over then you'll never get a different result

uncut viper
#

the only scary part about Harmony is just figuring out how to apply the patch

#

until you get to transpilers

#

or reverse patches

velvet narwhal
#

you can just null the MapAsset don't quote the null and you can test and see w/ abigail's room

#

yep i'm not touching transpilers until i make my own smapi mod

rancid temple
#

Even transpilers aren't that scary, just exhausting lol

proud kite
rancid temple
#

I have to have at least 3 different references open just to figure out what I'm doing every time I have to play with my transpilers

uncut viper
#

Data/SpouseRooms doesnt even exist

velvet narwhal
uncut viper
golden basin
#

how wouldi showcase something for my mod?

proud kite
#

im trying to update it to 1.6 but ive been struggling a little let me change this as well

rancid temple
#

Well, if you're using CodeMatcher it's really C# adjacent

velvet narwhal
uncut viper
#

sure, if you know IL

#

that said a decent way to quickstart learning how code you want to write can be translated into IL can be done with dnSpy too

#

since that will let you just write C# in the function you wanna edit and it'll convert it into IL for you when you go to IL view

crisp notch
#

im trying to use stardewxnbhack but this keeps showing up

lucid iron
#

1.1.2?

atomic vale
golden basin
#

the seasonal update for passerby is 50% done. Up next is walk sprites but first I'm taking a break.Wanted to show yall want im up to though

uncut viper
#

this is their mod im assuming

lucid iron
uncut viper
#

if its about updating their mod, they are in the correct channel

lucid iron
#

this version

rancid temple
rain basalt
#

drawing a blank what do i need to add to location data to enable building again

lucid iron
#

it's a map property

#

CanBuildHere T

atomic vale
rain basalt
#

ah thats why i couldnt find it lol

uncut viper
#

(you cant edit the message after you showcase it, Fellowclown)

lucid iron
#

u also need to make at least some tiles have Buildable or Diggable

golden basin
#

welp thats okay its posted lol

rain basalt
#

yah thats done ^..^

lucid iron
#

if a junimo is around they can delete for you to repost

#

maybe msg bouncer

rancid temple
golden basin
#

nah its fine

hollow solstice
rancid temple
#

Womp womp

brave fable
#

no ❤️

#

jk its basically done but im updating raised garden beds

rancid temple
#

It would be pretty pointless to update to a version nobody is supposed to use

lucid iron
#

im looking forward to blueberry's loathe of baking \s

rancid musk
#

And there's the PR for the decompile update out. Time to see what Pathos thinks of the new ILSpy

#

(And now I flee and have dinner.)

brave fable
#

upgrading to 'man fuck cooking'

lucid iron
#

mfc...

rancid musk
#

I'm sure this PR will be easy to review /s

rancid temple
#

Fix it forward, merge and then see what breaks

calm nebula
#

Anyone want to take vets on thr final 1.6.x number

#

I was betting 1.6.12 earlier

rancid temple
#

I want it to be 13

velvet narwhal
#

hmm, depends on what other things, if they plan to re-implement that xTile thing that they were doing, i'll bet on .15

brittle pasture
tender bloom
#

I like 12 as a number

#

It’s nice and divisible

atomic vale
lucid iron
#

1.6.16

whole raptor
#

I'm with rokugin

uncut viper
#

im gonna assume 14

lucid iron
#

i am enjoy the lore updates

tender bloom
#

Ooh I like 17 too though

#

It’s a nice prime

lucid iron
#

day 1 wild coyote and pet ear rash

atomic vale
crisp notch
#

which xnb contains the remixed bundles

lucid iron
#

they r all in the same asset i believe

uncut viper
#

theres Data/RandomBundles

lucid iron
#

wait that one's got completely different format bolbpopcornhat

uncut viper
#

its great isnt it

crisp notch
#

so i get to just change the names and it will still work

lucid iron
#

you need to make a content patcher mod

#

and edit the asset

crisp notch
#

what if i just try to change the name

uncut viper
#

then you'll break things

crisp notch
#

in just bundles what happens if i try to add more bundles

whole raptor
#

There's a framework for that

brittle pasture
#

it's not the fact you're adding new bundles, it's more that you sounds like you're going to be doing that by editing the XNB instead of making a CP mod

whole raptor
#

!xnbzola

ocean sailBOT
#

XNB mods often break the game and are not recommended. See Modding:Using XNB mods for more info (and a list of Content Patcher alternatives), and you can reset your content files to fix problems caused by XNB mods.

For mod creators, see Modding:Editing XNB mods for help unpacking & editing them (including for use with Content Patcher).

faint ingot
#

I'm adding a craftable item for the first time and just wrote like 70 lines of content pack changes for it, everyone please pray to Yoba that it works the first time

velvet narwhal
#

i mean you can just add in more bundles into the RandomBundles, no?

#

always love the "don't you fucking dare"

whole raptor
#

Never gets old SDVkrobusgiggle

velvet narwhal
lucid iron
#

wow i never knew about beta robinAtWork

faint ingot
lucid iron
#

aw man i liked the skill titles too they r cute

faint ingot
#

Now I just have to make proper art for it lol

lucid iron
brittle pasture
#

those are cute. kinda unreadable, but cute

velvet narwhal
#

farming is definitely unreadable

uncut viper
#

probably more readable at 4x scale on a not dark gray background

brave fable
#

im sorry chu, they look kinda shit SDVpufferpensive

uncut viper
#

farming seems like itd be readable when its over the bright colours of stardew

lucid iron
#

but i like the idea of them

uncut viper
#

especially over the orange yellow of the dirt where you are likely going to level up farming

lucid iron
#

farming should grow from da dirt

rancid temple
#

Before making them bigger, I thought Mining was Dining

uncut viper
#

i think thats on you /lh

brave fable
#

new... l;ove of cooking skil.

rancid temple
#

Love of Eating mod when

velvet narwhal
#

Farmer Gains Weight

lucid iron
#

what would a eating mod do blobcatgooglyblep

rancid temple
#

More health

brave fable
#

m,ore eating

lucid iron
#

do u use it with one of those hunger/thirst mods

velvet narwhal
#

change the paper doll to get fatter

uncut viper
#

implement a dietary system that rewards a balanced diet like minecraft mods do

brittle pasture
#

Eating an unbalanced diet of Spicy Eels everyday will cause your farmer to have a heart attack on Winter 26

rancid temple
#

The more you eat, the higher your max health and vice versa

brave fable
#

the more you eat, the lower your movespeed

velvet narwhal
rancid temple
#

Lower speed, lower attack speed, higher defense, more health, lower stamina

lucid iron
#

my farmer subsists on a diet consisting of salmon berries from 2 months ago

velvet narwhal
#

i think i'd definitely get sick of eating unagi every day, but i can imagine a "love of eating" being like, "you changed up your diet for today, you get this buff"

rancid temple
#

If you eat too much food at once, you slip into a food coma and wake up the next day

brave fable
#

wow i really don't like that the once-beautifully-organised Equipment: Tools category in cjb item spawner is now like 80% bait for every individual fish in the game

brittle pasture
#

snail bait very useful item trust

steady folio
#

as you get bigger and you sustain more damage falling down caverns floor holes

uncut viper
#

thats not true! only fish with the fish_has_roe context tag SDVpuffersmile

velvet narwhal
#

new strat: get fat, fall 80+ floors, profit

brave fable
#

aaahhh it works finally just needed to delete so much

rancid temple
#

If you get too big, you can't fit down the ladders/holes

steady folio
#

just punches through an extra 3 floors breaking his fall

#

I mean.. that'd still hurt

rancid temple
#

Anyways, as an actual fat person I hate this idea now lmao

uncut viper
velvet narwhal
#

sorry, i do like those dark souls crazy ideas though

brave fable
#

mod where the more you eat the greater chance you have of destroying Tight Pants and Farmer Pants on equip

rain basalt
#

lets hope i didnt break anything lol

brittle pasture
#

yeah these work in crab pots apparently

drowsy pewter
velvet narwhal
#

i'm waiting on selph to make the snail catcher to put on bushes tbh SDVpufferclueless

brave fable
#

where is the mod that has snails attack your crops as well as crows

#

or just texture swap crows to snails

#

also fine

velvet narwhal
#

...they fly with their-- nope i'm done with that thought, i'm gonna go make pizza bites

drowsy pewter
#

instead of flying away, they spin really fast like sonic

steady folio
lucid iron
#

i guess u could do a pests mod with cloudy skies

#

locusts upon thee

clever sinew
#

Can I get a second pair of eyes? I'm missing an object member apparently and cannot figure out where

#

{
"Action": "Load",
"Target": "Mods/{{ModId}}/veggie_pizza",
"FromFile": "assets/objects/veggie_pizza.png"
},

uncut viper
#

what do you mean object member? can you post your full json using the smapi uploader please

#

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

clever sinew
#

yes sorry

uncut viper
#

and an error log too if you're getting errors

rain basalt
#

just had a face palm molment lol making a mountain area so coppied mountain location data but left >.> map name in so when i used warp <.< i warped to the mountains

clever sinew
#

Error was in my validator in notepad

#

OH I see

#

missing a bracket, I think

royal stump
#

gotta close both the "when" and the change itself, yeah

clever sinew
#

okay there we go

#

ty!

#

the one problem with notepad++ json validator is that sometimes it won't tell me where exactly the problem is T_T So being reminded about the smapi validator is supremely helpful

rancid temple
#

I'm gonna beat this horse til I'm also dead, but VSC just works way better lol

rain basalt
#

should use

rancid temple
#

!vsc I think

ocean sailBOT
rain basalt
#

!VSC

ocean sailBOT
rain basalt
#

lol yah second late

lucid iron
#

!vscjsonc

ocean sailBOT
#
How to make VSCode not scream at json comments

In Visual Studio Code, go to File -> Preferences -> Settings, then search for "associations", and in the "Associations" setting, click the Add Item button to add an item with key *.json and value jsonc (see image).
If you are making a content pack for Content Patcher, you should consider using its json schema so that VSCode can tell you if your patches are valid, you simply have to add

"$schema": "https://smapi.io/schemas/content-patcher.json"

at the start of your content.json file.

rain basalt
#

when you realize the whole issue is you use editmap instead of load >.>

rancid temple
#

Really depends on what you're trying to do lol

rain basalt
#

create a custom location to warp to lol

rancid temple
#

Ah yeah, that'd do it lmao

rain basalt
#

teh edit is for after its loaded >.>

#

but since i copied and pasted all the edits for map and changed options and location data but forgot need the map to load first

#

yay warp and fishing working

#

Now to finish the other warps and edits and sigh 😔 everything else lol

clever sinew
#

For appending npc gift tastes, is 5 now neutral gifts?

uncut viper
#

i dont believe its changed?

#

seems to be 5 in any case

clever sinew
#

Neutral is just the last slot in NPCGiftTastes, as far as I can tell

uncut viper
#

oh

#

then not 5 no

#

i looked at "Um... why?" and decided that sounded neutral lmao

clever sinew
#

Listen fair

#

If the tutorial on the wiki is still correct that’s totally fine with me, it just hasn’t been updated since 1.5.1

velvet narwhal
#

(10 is what you're looking for, for appending to neutrals)

uncut viper
#

10?

velvet narwhal
#

wait maybe 9, it's index 0 right?

uncut viper
#

that would mean theres 11 fields, though

#

yeah

clever sinew
#

One sec

uncut viper
#

its 9

clever sinew
#

index taste reaction dialogue reference IDs
0, 1 love I seriously love this! You're the best, @! 66 128 220 226 276 611
2, 3 like Hey, how'd you know I was hungry? This looks delicious! none
4, 5 dislike What am I supposed to do with this? -5 -75 -79 16 245 246
6, 7 hate What were you thinking? This is awful! 330
8, 9 neutral You brought me a present? Thanks. none

velvet narwhal
#

evens are the dialogue, odds are the actual data fwiw

clever sinew
#

That is important to know

#

Thank you both

rain basalt
#

So if I wana change a default warp on a map do I just use add warp and it will target primary from location or do I need to edit data and force the change that way

shut grove
#

how do object sprite sheets lay out their indexes? left to right, top to bottom, or top to bottom left to right?

rain basalt
#

And top to bottom for y cord

brave fable
rain basalt
#

Grats let’s watch next update crash and burn it all SDVemoteheart

#

We can only pray to the junimos that nothing bad happens

brave fable
#

something bad always happens. is life

rancid temple
#

Bad things happen to those who exist as they say

lucid iron
#

blueberry what are your plan for wider release, if any

brave fable
#

i'll be doing a world tour sometime in 2028

#

tickets on sale thru pierre

lucid iron
#

the blues era...

rain basalt
#

Nice

brave fable
#

can i just add an arbitrary indefinite special order to the quests page

#

and can i add arbitrary progress whenever i want

lucid iron
#

the QuestDuration enum doesnt have any indefinite length

brave fable
#

oh wow wtf is this enum

lucid iron
#

maybe if u just give it null LilyDerp

#

unclear of NetEnum will like that

#

as for arbitrary progress if you lock each stage behind a collect objective of some item it'd be what you want sort of

brave fable
#

(cough) am i allowed to subclass special order. how would i even serialise this