#making-mods-general

1 messages · Page 201 of 1

teal bridge
#

Image sizes/alignment, headings, that sort of thing. Markdown-ish features. Inferior to Markdown but still better than the ancient vBulletin Lada.

gaunt orbit
#

new vs old main page. notice how you can't even see the entire hot mods section from the top of the page

teal bridge
#

Some implementations even allow you to write HTML and just sanitize it. Those crazy 2012-era devs!

fading walrus
#

It would make me so happy if they'd just implement markdown

fading walrus
lucid iron
#

Is top bar same

teal bridge
#

White space is the best thing ever now, haven't you heard

gaunt orbit
teal bridge
#

Your UI needs to breathe like your skin needs to breathe

fading walrus
#

it looks like a website designed specifically for old square monitors with no scaling for wider screens

old edge
#

Hello

uncut viper
#

i don't like the new page for viewing your own mods/a users mods either because unless I missed an option I can't see my UDLs at a glance anymore, just total DLs

gaunt orbit
#

I think if they got rid of that and tightened up the margins a little, it would look a lot better

lucid iron
#

Seems fixable with browser plugins at least

#

I hate it less than new reddit

lucid iron
#

Or ig thats also old now, making what i use old old reddit

uncut viper
#

the big grid of your own mods

gaunt orbit
#

oh right, the little cards would list it, wouldn't they

uncut viper
#

not anymore SDVpufferpensive

gaunt orbit
#

yeah they still do

#

unique/total

uncut viper
#

they list just the total DLs

#

Unless they changed it literally while I slept

#

I'm not at my desktop right now so I can't check again

gaunt orbit
#

unique and total downloads are grouped together like they were before, at the bottom of the card, separated with a /

uncut viper
#

yeah when I looked last night it was just the total

gaunt orbit
#

huh, weird

#

oh! it looks like they added a button for the new analytics page finally

#

it shows total and unique downloads across all of your mods, month-by-month and overall

lucid iron
#

I thought thats been there for ages

#

Since they hid the udl on ur donation points

meager loom
#

Is it possible to have a When condition for percentage chance? I'm trying to have like

"When": {
                "DayOfWeek": "Sunday",
                "Random:": "10"
            }

But obviously that doesn't work. Anyone know any way?

lucid iron
#

It depends on what u r doing

#

Might be better way than using when

meager loom
lucid iron
#

Ok when is correct, you need to do it with a query i think

uncut viper
# uncut viper yeah when I looked last night it was just the total

alright, dont know if they actually did swap it back or what but my mod page in the beta is indeed back to normal-ish. but last night it was for sure different bc the thumbnails were all much larger and showed 4 per row instead of 3 and didnt show UDLs. dunno what happened to that version of the page

patent lanceBOT
#

@hallow prism: remember to do the github thing you forgot about, uber pls (30h ago)

meager loom
lucid iron
#

"query: {{Random:{{Range:1,10}}}} = 10"

#

I think

#

The attempt here is "pick 1 number from 1 to 10, and check if it equals 10"

meager loom
lucid iron
#

!chatgptcode

ocean sailBOT
#

Please stop trying to get ChatGPT to write your C# mods for you, especially if you don't know how to write C#. It won't work without heavy editing, and it wastes everyone's time.

Large language models fundamentally are reguritating something from their input—which is roughly speaking, the written output of humanity up until 2021 or so, for ChatGPT. For specific, niche topics like "is this framework going to do what I want" or "which things does Game1.cs have access to", it probably has no idea! But it's good at detecting that people in the past have....said things about frameworks and written things in C#, so it does its best to assemble words and symbols into a nice order for you. Sometimes it tells you true things, and sometimes it tells you false things, and if you can't detect when, you're in trouble. When you're writing code, this usually produces garbage, because you can't be "sort of similar", you have to be exactly correct or it won't work.

lucid iron
#

Need this for content too tbh chatgpt doesn't know shit

#

Sdv modding is just too niche for llm atm

meager loom
ivory plume
#

You can simplify and optimize a bit:

// choose a random number between 1 and 10 inclusively, and check if the chosen number is 10
"Random: 1, 10": 10

You can also check multiple numbers to have different percentages, like...

// choose a random number between 1 and 10 inclusively, and check if the chosen number is 9 or 10
"Random: 1, 10": "9, 10"
lucid iron
#

Oh hm is 2 number args to random a special case

#

I was under impression that it'd pick 1 OR 10

ivory plume
#

Nope. You can use any token arguments in a When; basically it's the same format as a token but without the {{}}.

meager loom
lucid iron
#

Yeah i understand that bit, it is just that with string random on docs it is like Random: hood, jacket, raincoat to pick one of 3 strings

#

So i thought i needed the Range

tawny ore
ivory plume
#

Oops, yeah. So it should be:

// choose a random number between 1 and 10 inclusively, and check if the chosen number is 10
"Random: {{Range:1, 10}}": 10
meager loom
uncut viper
ivory plume
meager loom
velvet narwhal
hallow prism
#

does someone has an example of how alex adress/name his grandpa in dialogue/event?

#

i did a quick search and found the one for evelyn, but not george

#

(according to reddit this means that alex hates george or something)

latent mauve
#

i think Gramps was said once? I can recheck.

velvet narwhal
#

"Fri4": "Hey, @. I'm glad you stopped by.#$e#I'm not ashamed to say that I love my grandma!#$e#Now Grandpa, on the other hand...#$e#Just kidding.$h",

hallow prism
#

thanks 😄 i found grams for his grandma in another line

ivory plume
#

(Random fun fact: you can arbitrarily nest token arguments.)

// choose two random numbers, then choose a random number between those, then check if the chosen number is 42
"Random: {{Range: {{Random: {{Range:1, 40}}}}, {{Random: {{Range: 40, 100}}}}}}": 42
lucid iron
#

Reimplementing fish rng in cp tokens

velvet narwhal
#

i feel like sinz explained this arcane nesting to me and i've forgotten the core of what it did

hallow prism
#

(this is what i meant the other day with me not always searching the right word, i tried various variations of grandpa, and apparently missed grandpa somehow)

latent mauve
#

Okay, yeah, it's just Grandpa in the line I was remembering

velvet narwhal
#

he does say grams SDVpufferthinkblob

latent mauve
#

He does use Grams for Evelyn though

#

Just noticed you said that earlier when I was looking LOL

hallow prism
#

that's ok 😄

meager loom
#

Does anyone know if there's a way to tie a message like "The Bookseller is in town!" to these When conditions? So like if my cart edit happens, it would also display a message to the player? It doesn't seem like there's a particularly easy way to do it but I'm still learning how to dig through the docs properly

hallow prism
#

maybe with spacecore

#

otherwise it's C#

uncut viper
#

avi told you spacecore can do that earlier

meager loom
lucid iron
#

No spacecore just has a trigger action for it

uncut viper
#

spacecore just adds a trigger action action for a hud message

meager loom
lucid iron
#

It not above your skill level cus u just need to put some letters in the right places

#

You do need to use a key'd random tho

hallow prism
#

i don't think it's above your skill level, maybe your current focus/ability to process

uncut viper
#

or a locationchanged conditional patch

wanton pebble
#

Spacecore stuff is not above a content patcher modder's skill level

#

Source: me

hallow prism
#

but i don't think asking again will provide an illumination, it's ok to wait and return to stuff later

meager loom
#

I mean I know some basica JS but that's about it haha

wanton pebble
#

Well, good news

hallow prism
#

i don't 😄

wanton pebble
#

You need zero Javascript or C# experience

#

Spacecore has docs on how to use in content patcher

meager loom
#

I'll dig through spacecore again for a bit and see if I can find the right part

wanton pebble
#

Just remember not to look at the code and instead look at the docs

#

Casey's stuff is pretty well doc'd, and you can ask us questions

meager loom
#

Seems like I need this spacechase0.SpaceCore_ShowHudMessage "message goes here" optionalQualifiedItemIdForIcon I just need to figure out how to tie it to my content patcher event

wanton pebble
#

Oh you're using that?

#

Feel free to crib from DNR

#

I use that

hallow prism
#

(i don't think they'll see what is DNR out of context)

wanton pebble
#

Date Night Redux

hallow prism
#

thanks 😄 i was searching what it could be and was like "not the breakfast one, there's no B"

meager loom
hallow prism
#

it has examples for you to look at

wanton pebble
#

It uses the hud message system to give date reminders

#

It doesn't do whatever you're doing unless what you're doing is exactly that. But it uses that and as Lumi said gives examples

meager loom
#

Sweet Ill give it a download and see if I can find something relavent

#

thanks for the help yall appreciate it

wanton pebble
#

Np

deep cypress
#

Getting a collection modified error with this:

 for (int i = farmhouse.characters.Count - 1; i >= 0; i--)
 {
     if (farmhouse.characters[i] == __instance)
     {
         farmhouse.characters.RemoveAt(i);
     }
 }

This is the game's vanilla code for doving kids, am trying to make it so you can give an item to a kid to dove exactly one kid.

lucid iron
#

You don't need a loop for that do you

deep cypress
#

Of note, even if I take it out of the loop, and just do farmhouse.characters.Remove(__instance), it still makes the collection error

lucid iron
#

Since it's just 1 kid

#

Post full error then it sounds like something else

deep cypress
#

Is this because I am in the farmhouse?

#

[game] An error occurred in the base update loop: InvalidOperationException: Collection was modified; enumeration operation may not execute.
at StardewValley.GameLocation.checkAction(Location tileLocation, Rectangle viewport, Farmer who) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Locations\GameLocation.cs:line 8035
at StardewValley.Locations.FarmHouse.checkAction_PatchedBy<ApryllForever.PolyamorySweetRooms>(FarmHouse this, Location tileLocation, Rectangle viewport, Farmer who)
at StardewValley.Game1.<>c__DisplayClass925_0.<tryToCheckAt>b__0()
at StardewValley.Game1.tryToCheckAt(Vector2 grabTile, Farmer who)
at StardewValley.Game1.pressActionButton(KeyboardState currentKBState, MouseState currentMouseState, GamePadState currentPadState)
at StardewValley.Game1.<>c__DisplayClass978_0.<UpdateControlInput>b__0()
at StardewValley.Game1.UpdateControlInput(GameTime time)
at StardewValley.Game1._update(GameTime gameTime)
at StardewValley.Game1.Update(GameTime gameTime)
at StardewModdingAPI.Framework.SCore.OnPlayerInstanceUpdating(SGame instance, GameTime gameTime, Action runUpdate)

rigid oriole
#

in some langs you can't remove elements from something ur currently iterating thru

#

i'd guess C# is the sme

#

althought you aren't using a foreach loop or anything which is where i'd expect that error

#

what's your whole harmony patch?

winter dust
#

With most of my NPC woes out of the way I should be able to continue updating Garden Village and get a working version ready for my next WTDR update. Who knows.

#

At least NPC creation is slightly easier than back in SDV 1.4.

deep cypress
#

Even this causes the error, no loops:

     FarmHouse farmhouse = Utility.getHomeOfFarmer(who);
     farmhouse.characters.Remove(__instance);
#

The whole patch works fine without this, lemme put the whole patch in a code paste site, hold on'

proud wyvern
#

is this literally all you have? or is it inside some kind of loop

rigid oriole
#

it says ur patching gamelocation, so wouldn't __instance be a GameLocation? you can't remove that from a list of characters

calm nebula
#

If you put your sprites in his location you can just reuse his sprites

deep cypress
rigid oriole
#

ok cause the error is at GameLocation.checkAction

calm nebula
#

Check Action is doing. The iteration

rigid oriole
#

ohhh and then the Child.CheckAction gets called in the iteration of the farmhouse characters?

#

so it is concurrent modification

calm nebula
#

I would just use Delayed Action to kick back one tick yeah

#

It's fussy doing harmony

rigid oriole
#

that's a niche bug

calm nebula
#

You have to not only know what your code is doing

#

But what the game is doing

meager loom
#

Okay I see they're adding their reminder like this

{
    "LogName": "Date Reminders (Needs SpaceCore installed)",
    "Action": "EditData",
    "Target": "Data/TriggerActions",
    "Entries": {
        
        //Saloon Date Reminder
        "{{ModId}}_SaloonReminder": {
            "Id": "{{ModId}}_SaloonReminder",
            "Trigger": "Manual",                
            "Condition": "PLAYER_HAS_MAIL Current saloonDateAgree, !LOCATION_NAME Here Saloon, !IS_EVENT 1116010",
            "HostOnly": false, 
            "Action": "spacechase0.SpaceCore_ShowHudMessage \"{{i18n:SaloonReminder |Date={{Date}} }}\" (O)206",
        },
}

But I'm not finding how to add a trigger like their "saloonDateAgree" to a content patcher edit to actually use in the Conditional key

calm nebula
#

(I wouldn't consider it a niche bug)

deep cypress
#

Kick the Ticks, here we go!!!!!!!!!!

calm nebula
#

Just part of the awareness you need for harmony to not kick you

calm nebula
#

The more I use LocalTokens the more.....

deep cypress
#

YES!!!!!!!!! Thank you Dr MathPerson!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

wanton pebble
teal bridge
#

What was the reason for not changing mod unique IDs again, even after a major version update? I'm sure it was a good reason, just can't remember it.

tribal ore
#

You could also set a conversation topic with a specific number of days, if you instead want to use it as a fuse or timer

#
            "Id": "{{ModId}}_Flag2",
            "Trigger": "DayStarted",
            "Condition": "PLAYER_HAS_MAIL Current {{ModId}}_Flag1, !PLAYER_HAS_CONVERSATION_TOPIC Current {{ModId}}_Timer_Flag2",
            "HostOnly": false,
            "Actions": [
                "AddMail Current {{ModId}}_Flag2 Received",
            ],
            "MarkActionApplied": true
        },```
#

This is a trigger that checks for the existence of one mail flag AND the expiration of a conversation topic before setting a new mail flag

uncut viper
#

if i set a dependency on focustense.ModName but you change it to focustense.NewMod then my shit breaks

#

or if im looking for that modid in code etc

ivory plume
tawny ore
#

How about CP switch-case?

teal bridge
uncut viper
teal bridge
#

Hmm... if Harmony patchers are already going to break, and API clients are already going to break...

uncut viper
lucid iron
#

Hm it would be nice to have smapi previous mod unique id

uncut viper
#

(i know locations and NPCs also have FormerName things too)

teal bridge
#

In general, of course. If somebody Harmony-patched the old Radial Menu 0.2, though, those patches definitely will break in 1.0, it's almost a complete rewrite.

lucid iron
#

Personally i think if u r gonna just bump ur mod major version up then changing the mod id is fair game

ivory plume
lucid iron
#

Breaking change and all

lucid iron
#

I realize it's probably cursed to implement

#

And usually ppl just keep the unique id bc it's not a big deal

teal bridge
# lucid iron Personally i think if u r gonna just bump ur mod major version up then changing ...

Yeah, I've almost convinced myself that this is the case. I can think of a dozen reasons why it's a terrible idea when you're only updating the minor version, or if you're not following true semver and a major update is just "added a whole lot of new stuff and really wanted to bump the major". But if it's major as in "yes this is literally 100% incompatible with the old version of the mod in every way", then I'm wondering what I gain by preserving the old unique ID.

lucid iron
#

But i did have to check for 2 different mod id of Better Sprinkler at one point

uncut viper
#

if you started the game with an item in them that uses the old uniqueid in its id

meager loom
teal bridge
#

It's true that the unique ID isn't really that important for branding or whatever, but it's going to annoy me because of all the UI sprite references and such.

meager loom
#

I was thinking I could make a Condition with EditData and then compare both to that possibly? I just don't know if I can use Random in it

uncut viper
#

if there is one more thing i have in favour of keeping the old id for dependency reasons, its that it does also change the error and might make it more clear why suddenly a mod depending on it is erroring (i.e. shit broke vs "you dont have the mod installed" "but i do??")

teal bridge
#

I partly think "maybe I should just publish a new mod" but then that rubs people the wrong way for a bunch of other reasons, and leads to neverending questions of "why aren't you updating <old version of mod that isn't maintained anymore>"?

uncut viper
#

could just turn off nexus comments SDVpufferthumbsup

teal bridge
#

Haha, well, in this case Nexus comments did alert me to the fact that it was broken in the first place, so I guess they're not always totally useless...

uncut viper
#

i guess you could turn off comments but keep bug reports open

teal bridge
#

Nexus bug reports are always closed. I do not want bug reports there.

#

Worst of both worlds IMO. Still "Nexus quality" but you can't justifiably say "I only watch GitHub regularly" because you've enabled that section on Nexus.

tawny ore
#

I lock bug reports solely so that I can manually move bug reports in the comments over to them

uncut viper
#

ymmv i suppose, ive gotten pretty much only helpful bug reports on my nexus pages that i dont otherwise get in here

teal bridge
#

Anyhoo... I'm now thinking back to career API dev work where a major version bump would also entail a new URL/URI, new RPC endpoint name, and so on.

tawny ore
#

That way the posts is more discussions about the mod rather than everyone piling in on the same issues

uncut viper
#

ultimately the uniqueid decision is up to you ofc, i was just providin the reasons why its not recommended

tawny ore
#

I think I could technically get away with a mod id change almost whenever I want because I've diversified my update keys across different sites, and as long as I update the version on one, I can lead people to a new key on the others

teal bridge
tawny ore
#

Sounds like you haven't tried hard enough to break your mods /s

blissful panther
#

Surprisingly, I've only ever really had helpful bug reports on Nexus.

teal bridge
#

The update key is the Nexus ID though, I'm talking about the mod's Unique ID (SMAPI ID)

lucid iron
#

So what will u call radial menu 2.0 DokkanStare

blissful panther
#

Apart from like... one or two "mod doesn't work... oh wait, I didn't extract the assembly".

teal bridge
tawny ore
#

I did a soft bridge between an old/new mod once where the old one had one last update that detected the presence of the new one and disabled itself if that was installed

#

It's where I moved some functionality into a framework that had outgrown the original mod's intention

teal bridge
#

That's not a bad idea actually - since I know that despite my large-font instructions to "PLEASE COMPLETELY REMOVE THE OLD VERSION BEFORE INSTALLING NEW VERSION", a bunch of users ain't gonna.

lucid iron
#

This means u do new page then?

teal bridge
#

I dunno, still seems like too much work. I mean, I do have to redo the entire Nexus page, but I just don't want the old mod hanging around looking abandoned.

#

I have not even thought about documentation, that's going to be a chore and a half.

lucid iron
#

Ig it depends on whether u think the user experience is sufficiently different

#

Are you 2 cakes yourself

uncut viper
#

cant nexusmods let you hide a mod page with a custom reason why? or is it just preset reasons

teal bridge
#

Sure, it can do that.

#

I think that's solving a different problem, though.

uncut viper
#

it would solve the old mod hanging around lookin abandoned

teal bridge
#

Sort of... now the old mod is hanging around looking abandoned and hidden out of embarrassment.

uncut viper
#

well it wont look like anything bc itll be hidden

#

and if a user goes to the page directly it'll saay "This mod is obsolete. Use this one instead: [link]"

calm nebula
#

Nearly sent my coworkers an email about a merged spritesheet

ornate locust
#

I don'

calm nebula
#

How are you guys doing

ornate locust
#

argh, enter key

teal bridge
#

I'm wondering what the advantage is in that case over just renaming both the mod and unique ID. Seems like the only difference is, SMAPI won't report it as an update, which is a disadvantage.

ornate locust
#

I don't think Nexus lets you do custom reasons anymore, does it? I remember that bothering me

uncut viper
#

i simply lay the cards out on the table and have no thoughts on their value it is up to you to decide their value in your hand

teal bridge
#

Fair enough.

iron ridge
uncut viper
#

yeah i just checked and there is no custom reason by default but the obsolete one lets you fill in a reason/mod link why its obsolete now

iron ridge
#

That's how I got this

teal bridge
#

I think I'll stick with the "breaking update". That still makes it possible for users to revert if 1.x isn't stable for a while, all the comment history is still there, etc. The outcome is roughly the same either way.

lucid iron
#

But that seems so useful

#

Why can't we have nice things

iron ridge
#

It is but what if someone goes off nexus and then no more money!!

uncut viper
# iron ridge That's how I got this

thats the same wording/template it seems like they use now for the "Mod is obsolete" reason so i dont think you have to ask for that one anymore

lucid iron
#

But can u put link

iron ridge
#

You do, you only get to put in a nexus id

lucid iron
#

Ig that's fine for this usecase

uncut viper
#

oh you are correct, i just saw the text box and didnt see the bit asking for a mod name

tawny ore
#

Here is what Nexus allows you to do to obsolete a mod. Example given from this random small mod I made.

#

No open text field, just searching Nexus for a mod name

uncut viper
#

just make a mod page with the name of the reason you want and link to it SDVpuffersmile

#

im sure nexus staff would love you using that workaround

tawny ore
#

Please use this instead "visit ModDrop for all future updates to my mods" /s

uncut viper
#

lgtm

tawny ore
#

I wonder how quickly I'd get the banhammer for that

lucid iron
#

"My mods will be distributed on media fire from now on"

calm nebula
#

It's available on request

#

By floppy

uncut viper
#

i would genuinely take you up on that

lucid iron
#

Hm most sdv mod would fit on a floppy right

#

Well, C# ones anyways

uncut viper
#

not the content packs with a bunch of assets

#

but the C# ones i fuckin hope so

blissful panther
uncut viper
#

posting in #1272025932932055121 "hey im having trouble installing SMAPI off my floppy disk, can someone help me?"

teal bridge
#

StardewUI still fits on a floppy, though it is definitely getting up there.

dull bay
#

Hello ! I would like to modify an animal sprite for my mod after 10 days in the coop, how could i do this ?

lucid iron
#

Well u just have to yeet the docs right

#

Then u can fit for sure

uncut viper
#

the 10 days might be a bit tricky unless you just want it to happen when they grow up and not specifically 10 days

teal bridge
#

I think the docs compress like 90%. The DLL itself is 1.3 MB.

lucid iron
#

Ah yea just under 1.44

#

Need big floppy soon

teal bridge
#

Smaller when compressed, both together are 900 KB. It's big for a C# mod though. There are a few PNGs, take them all out and maybe it's 800.

uncut viper
#

im sure theyll come out with a higher capacity floppy soon

deep cypress
#

I miss the pretty 3.5 floppies!!! I got them in so many colors!!!

lucid iron
#

Not specific to individual anyways

uncut viper
#

they made them up to like 200mb right

teal bridge
#

200 MB floppy disk? What is it, the size of a school bus?

dull bay
tawny ore
#

Every few days I see a post here trying to do things that Sprite Patcher was intended to help with, and it makes me wonder...

hard fern
#

In the end my suggestion of "USB stick delivered via carrier pigeon" doesn't sound so absurd

uncut viper
#

the LS-240 3.5in SuperDisk released in 1997 could apparently do 240mb

lucid iron
uncut viper
#

isnt selph still touching grass

teal bridge
lucid iron
#

What I'd do instead for the time being is to offer skins

#

So you don't get grow up but u do get both middle form and last form in ur barn

#

Im assuming this is pokemans

meager loom
#

Does anyone know if I can create a Condition in Data/Conditions and then check that in When? I'm trying to use this to create a Condition called CartSpawn and then use that in When and Condition keys

{
    "LogName": "Define Cart Spawn Condition",
    "Action": "EditData",
    "Target": "Data/Conditions",
    "Entries": {
        "CartSpawn": "Random:{{Range:1,10} == {{Range:1,9}}"
    }
},
lucid iron
#

Whats is a data conditions

hallow prism
#

no you can't

uncut viper
#

Data/Conditions isnt even a thing

#

please do not tell me you asked chatgpt for that

meager loom
#

Or maybe it's preconditions

#

This

hallow prism
#

i would do stuff like mail flag or something if you can't sync stuff

#

no it wouldn't work either

meager loom
#

I was trying to use that but yeah it was erroring

lucid iron
#

I think you wanted a map patch

meager loom
#

okay I'll look at mail flags docs

lucid iron
#

You can't use things that don't exist in the game

calm nebula
#

I worked for a place that would mail you your data in a hdd

dull bay
hallow prism
uncut viper
#

!chatgptcode

ocean sailBOT
#

Please stop trying to get ChatGPT to write your C# mods for you, especially if you don't know how to write C#. It won't work without heavy editing, and it wastes everyone's time.

Large language models fundamentally are reguritating something from their input—which is roughly speaking, the written output of humanity up until 2021 or so, for ChatGPT. For specific, niche topics like "is this framework going to do what I want" or "which things does Game1.cs have access to", it probably has no idea! But it's good at detecting that people in the past have....said things about frameworks and written things in C#, so it does its best to assemble words and symbols into a nice order for you. Sometimes it tells you true things, and sometimes it tells you false things, and if you can't detect when, you're in trouble. When you're writing code, this usually produces garbage, because you can't be "sort of similar", you have to be exactly correct or it won't work.

uncut viper
#

this applies to CP mods too

hallow prism
#

the thing is, CP can edit image of all the animals of one kind at once

meager loom
#

I wish you could just assign an ID or something to an edit and then reference that in When would be so much easier

hallow prism
#

or you can have skins, but animals will not change skins

teal bridge
#

That's two chatgpts in the span of an hour... they're multiplying.

dull bay
#

Yeah i try to learn, i don't copy paste ChatGPT

uncut viper
#

trying to learn with ChatGPT will take you in a backwards direction

dull bay
#

It's quite challenging for me, I'm using it rarely

blissful panther
#

While you might be able to get some semi-useful information from it on hyper common tasks, like "hey, tell me how to build a RESTful API"... something more niche like Stardew is so much more likely to end with you going down rabbit holes that don't exist.

rotund elm
#

Has anyone seen the new facelift for nexus?

calm nebula
#

No

#

I haven't don't make je

rotund elm
#

XD

#

It's actually really nice

blissful panther
#

You don't want collections to be right beneath hot mods?

#

Other than that, it's actually not bad!

hallow prism
#

oh

#

facelift of nexus, not a facelift mod on nexus

#

i was like "what is so terrible about that mod?"

blissful panther
meager loom
hallow prism
#

search trigger action

hallow prism
#

probably

meager loom
#

That seems to allow me to set one for the player but not create the flag itself

hard fern
#

Why is nexus blue now

pine elbow
devout otter
lucid iron
#

The term is confusing but a mail flag is just a mail that gets used as a boolean

#

This usually mean they use no letter but that's not strictly required if u did want a real mail

meager loom
lucid iron
#

AddMail is the action you want

meager loom
lucid iron
#

No

#

Simply doing AddMail lets you check it with a variety of other things

#

Like content patcher HasFlag

meager loom
#

I'm confused I think. I thought every edit needed a Target? Do I just not add the Target key?

lucid iron
#

Actions work in many places but your usecase is a Data/TriggerActions thing

#

Refer to doc u found on that

wanton pebble
#

(Chu, can you quickly sum what they're trying to do overall?)

meager loom
#

I did but it says Data/Mail haha

wanton pebble
#

(I've used the notification thing with spacecore before and I could probably give more step-by-step stuff if I know the start to end points)

lucid iron
#

They are trying to do an EditMap that spawns a cart 10% of the time every Sunday

#

This is what i understood thus far

meager loom
#

Yep and I want a hud message to appear when that happens from space core

#

the cart part works

lucid iron
#

I actually think u don't need all this

#

A key on the Random would be enough

#

It basically just makes 2 randoms give u same results everytime

#

Another option here is dynamic tokens (a content patcher thing)

meager loom
#

Basically I need this to happen

        {
            "LogName": "Desert Merchant Reminder (Needs SpaceCore installed)",
            "Action": "EditData",
            "Target": "Data/TriggerActions",
            "Entries": {
                "{{ModId}}_CartReminder": {
                    "Id": "{{ModId}}_CartReminder",
                    "Trigger": "Manual",                
                    "Condition": "CartSpawn",
                    "HostOnly": false, 
                    "Action": "spacechase0.SpaceCore_ShowHudMessage \"The Cart has arrived somewhere in town!\""
                }
            }
        }

when the cart spawns which happens likethis

        {
            "Action": "EditMap",
            "Target": "Maps/Desert",
            "FromFile": "assets/Locations/Cart.tmx",
            "FromArea": { "X": 0, "Y": 0, "Width": 6, "Height": 5 },
            "ToArea": { "X": 28, "Y": 41, "Width": 6, "Height": 5 },
            "PatchMode": "Overlay",
            "When": {
                "DayOfWeek": "Thursday, Friday, Saturday",
                "Random: {{Range:1, 100}}": "{{Range: 1, 5}}"

            }
        },
wanton pebble
#

So on day started, we'll say a dynamic token is picked due to the random that results in the map patch. It also, when it is that value, runs a trigger action on DayStarted which loads the mailflag right into the host player's mailbox. Then SpaceCore reminder that morning can run at 6:10 AM so they can get the player a notification that it's there

lucid iron
#

That one might be closest to your intuition of wanting a place to store the cond you hot

wanton pebble
#

it won't happen on day start, but it will happen within 10 minutes of day start

#

sound right?

#

Additionally, you make sure that MarkActionApplied is false and that you have a reset on the mailflag so it can keep triggering.

uncut viper
#

just put the triggeractions edit and the map edit in an Include and put the random on that

wanton pebble
#

yeah, that's actually even simpler

meager loom
#

That's genius

uncut viper
#

that MIGHT not work but if it doesnt, i dont think a keyed random will help either

wanton pebble
#

No, it should

#

if random hit, include all the changes in the one include

uncut viper
#

bc if it doesnt work it'll be because trigger actions happen before CP does its edits

#

(im not sure the order)

lucid iron
#

I think it's fine yeah

meager loom
#

So I just have both those changes in an include, then put the include in my content.json with the When Random thing? is that right?

#

Heck yeah thanks Button that's incredible lol

uncut viper
meager loom
uncut viper
#

its a field on a trigger action

meager loom
#

Like

"MarkActionApplied": "false"
wanton pebble
#

DNR has examples again forestman

#

but this time I can pull it myself, one sec

meager loom
#

I have it up still i think

#

yup I see it!

wanton pebble
#

I have to open up notepad because Little Red Schoolhouse updated with a bigger map and I have to fix that for myself anyway

#

buuut if you see it you gucci

meager loom
#

thank you tho!

faint ingot
#

@gentle rose earlier I was asking about the "NOT spring 16" case which you gave me some advice on... I realized that I could maybe use DayEvent, since it's DesertFestival_2 specifically. Am I writing this wrong, though? It doesn't seem to be working. "When":{ "DayEvent|contains=DesertFestival_2": "false" }

tribal ore
# meager loom All good I think I got it

I found the "Workday/Weekend Day" example on the wiki to be really helpful for setting flags that pingpong back and forth. Opened my eyes to a lot of possibilities. I'd highly recommend just copying that pair of triggers into your mod and obvserving what they do

meager loom
#

One thing I'm wondering is the Trigger field. It's currently set to Manual but I feel like that means it's not going to fire but I'm having trouble finding the options for it

tribal ore
#

Basically, that determines when the trigger condidtions are going to be checked

meager loom
#

Oh true that should make it always fire and then the When conditions will actually do the calculation thanks!

tribal ore
#

"DayStarted" means that your trigger action will be chekced when the new day starts, and applied if the conditions are met

#

No problem. The thing that confused me most at first was the difference between "Received" and "Now", and also when to use "MarkActionApplied"

**Received: **the flag is set
Now: the flag is set and the mailbox is triggered to look like mail is there. You mostly use "Now" if you are actually sending a real letter.
MarkActionApplied: false -- this TriggerAction can happen again. Otherwise, they are just one and done

tribal ore
meager loom
#

Thanks for the help everyone!

gentle rose
uncut viper
#

Manual is a vanilla trigger type it's just unused by vanilla

faint ingot
#

OK, I understand. I wouldn't have @'d you if your name didn't specifically have "@me" which I took to mean you didn't mind.

lucid iron
#

In this channel it's most efficient to just throw ur question out and see if any nerds are around

meager loom
lucid iron
#

If it doesn't work the first time there's no issue reposting later

faint ingot
#

I already bumped my earlier question once when I wasn't getting responses so I wanted to avoid rebumping it my second time around. I know people are under no obligation to answer my questions so I was trying not to be a bother and failing

lucid iron
#

I guess my question is

#

What advantage is there to this over the not spring 16 thing

uncut viper
#

passive festivals have data models with start and end dates being changeable

faint ingot
#

We can drop it, I ended up doing it another way entirely. Thanks everyone who weighed in though

wanton pebble
#

As a refresher, how do I use double quotes in dialogue in 1.6?

#

I know it's something to do with escapes

meager loom
#

I just did it in my hud message like this \" \"

#

oops

wanton pebble
#

and I want to write something to the effect of It's "this name", not "this name" here

#

Nope, in messages/dialogue

meager loom
#

Ahh

uncut viper
#

It's the same anywhere in json

wanton pebble
#

they corrected it after

#

they had ""

uncut viper
#

o

wanton pebble
#

but thank you forest, that's what I was looking for

meager loom
#

Sorry yeah discord does something with backslashes so i had to add a code block

uncut viper
#

you can also use single quotes for the outer ones and not escape the double quotes, but then you need to escape the single ones

#

could be handy if the sentence you need em in doesn't have single quotes

#

ironically the reason discord does that with the backslashes is for the exact same reason

#

it's escaping the quotes

#

so you need to escape the slashes

meager loom
uncut viper
#

\" \"

meager loom
#

My first solution was adding and it worked haha

#

Or rather ` `

#

Which I needed backslashes to write lol

gentle rose
tribal ore
#

Is tiakall around? I've gotten a custom butterfly sprite loaded in as a temporaryActor, but I can either animate it to flap its wings OR I can make it follow an advancedMove. The minute the advancedMove starts, the flapping stops

patent lanceBOT
#

@brittle ledge: give Atra a list of mouhraha mods (4h ago)

wanton pebble
#

that uh

#

that is the most apropos ping timing ever

tribal ore
#

I know!! xD

#

Thanks for the assist, MaruBot

#

This is what I'm doing, in case it helps:

/hideShadow {{ModId}}_fly1 true
/advancedMove {{ModId}}_fly1 true 1 0 2 500 -1 0 1 500
/animate {{ModId}}_fly1 false true 100 0 1 2 1```
#

I've tried it both directions: animate first then advancedMove, and advancedMove then animate. Changing the order doesn't seem to help, so I'm definitely missing something

faint ingot
#

You could maybe try making it move with positionOffset instead of advancedMove

tribal ore
brittle ledge
calm nebula
#

half alive cat noise

#

I will say, slurry (aka instant coffee in brewed coffee) is bitter as fuck

brittle ledge
#

So yeah, you can either put in the frames for the direction(s) of move you need, or use positionOffset/showFrame kyuuchan_nod2

gentle rose
#

I did send the repo earlier btw I think, idk if you saw that though atra

gentle rose
calm nebula
#

I didn't

#

Was in a meeting for ages

gentle rose
#

can discord stop bouncing me around a_sideeye can’t do anything like this

calm nebula
#

I'll enter them in eventually!!!!

tribal ore
winter dust
#

It's nice that there is a group of us that continues updating mods.

gentle rose
#

I have a ton of respect for people like mouaharara who take on massive projects like these and update this many mods! Unfortunately, aedenthorn had 647 published stardew mods when they left, many of which were pretty popular, so their mods are taking a decent amount of collective effort for people to slowly update and port to 1.6.

I'm still fighting atra's repo whenever I have the energy to (not much these past few days) so hey, maybe one day I'll actually be able to finish updating one of those and release it lmao

winter dust
gentle rose
#

A lot are, yeah

#

I don't know the actual breakdown because, you know, there's 647 of them

brittle ledge
#

I think all of them are either SMAPI or content packs for her mods

gentle rose
#

so yeah, respect to mouahrara for updating 76 of them!

#

that's a decent chunk

true coyote
#

well thats fun

#

my fence is being placed as the object sprite... and not from the tilesheet

gentle rose
#

she, and I don't know, it was before my time but regardless I try not to pry about these things, people have their personal lives

rigid oriole
#

it was really nice of them to license everything such that the community could take on updating the projects

teal bridge
#

That pace was obviously unsustainable, when you have hundreds of mods there's no possible way you're keeping them all up to date. But I guess Stardew itself was on a very slow update timeline back then, and maybe people thought there'd never be another game update.

gentle rose
#

yup! and kind of annoying when the community decides to ignore what little requirements that license had 💀 mouahrara obeys it though so they're in my good books

#

(that was meant at barley, sorry)

teal bridge
#

(Many of the mods were very tiny, mind you - but still, too many to manage)

lucid iron
#

i remember doing the maths and they released on average 0.4 mods a week

true coyote
# true coyote my fence is being placed as the object sprite... and not from the tilesheet

not sure whats going on here, the fence json pulls from the tilesheet, and the only thing referencing the object is the object json and a little bit in the content for seasonal changes... no errors in the log so im not sure what to send on that front

fence json: https://smapi.io/json/content-patcher/44bd292737d24794a3285a7ab46b7568
object json: https://smapi.io/json/content-patcher/a41d51421afb46b4bbb075a17f858a61
content json: https://smapi.io/json/content-patcher/25c57cd82b25457aaa72ddf01665ee5c

teal bridge
#

Oh? Maybe that was long term, I saw more like 1 new mod every 1-2 days.

lucid iron
#

the method was based on time span of post date between last mod - first mod

rigid oriole
#

it's so permissive

lucid iron
#

hm was it a week or like

gentle rose
#

one of the really cool thing to see when we were cleaning up the mod ideas repo was how many ideas from there they took on and released! definitely a lot more than anyone else

lucid iron
#

0.4 a day yggy

teal bridge
#

Yeah, my assessment was based on quasi-random sampling.

devout otter
#

Boo, you can't do varied, pretty textures like this without EBAGI.

lucid iron
#

maybe my brain auto corrected it cus 0.4 a day is insane

#

someone redo the maff ty

gentle rose
lucid iron
#

wow they put a whole califlower in a jar

#

leaves and all

teal bridge
#

Like I said, a lot of them were very tiny little utility mods, or even joke mods, but nevertheless, yes it's insane.

reef kiln
#

C# is confusing. I can read the code (have enough experiance to understand it a little) but don't get how it knows what to do...... it seems to be referring to thing not in the actual github directory. I assume that is stardew or SMAPI. OK, back to the basic videos explaining stuff. I think I skipped to much as I found the intro stuff boring and easy. Teaches me not to be impatient when learning 😢

teal bridge
#

I have 7 now - total - logistics might eventually be an 8th, cannot even imagine trying to support more than 10.

#

100+ is definitely "fire and forget" haha.

teal bridge
winter dust
#

Is there a list of CP mods that need updating or is it mainly just updating SMAPI mods with unofficial fixes etc.

teal bridge
#

CP mods kinda never need updating except in rare circumstances.

gentle rose
reef kiln
teal bridge
#

I'm pretty sure 1.6 promised no such thing.

#

1.6.9 wasn't a modpocalypse but it was eventful.

reef kiln
#

It didn't promise it, but say it was trying to be better for modding.

tawny ore
#

1.6 forward should probably gracefully handle content update more easily, especially as long as CP can port whatever changes may come

teal bridge
#

What 1.6 did was pull more things into game data, so rather fewer mods have to be doing insane things with Harmony and fewer "framework" mods are needed for basic things.

lucid iron
#

did you forget what happened in 1.6.9 lol

teal bridge
#

But things are still going to break with every game update, because an update entails changing stuff. and there's always going to be some portion of mods depending on the old code.

#

("Things" meaning "some things", not "all things")

lucid iron
#

what 1.6 does promise is easier time at mod compat thanks to string id on most things

gentle rose
#

being better for modding is not the same as preventing updates from breaking mods because it's impossible to promise that tbh

tribal ore
teal bridge
#

Yeah. Definitely seems like the breakages were less severe for 1.6.8 -> 1.6.9 than they were for 1.5 -> 1.6. Authors still had to update, but the updates were often minor things like "switch to a new method" or "literally just rebuild binary against new game version".

tribal ore
#

But I don't think there is a good list

gentle rose
#

from what I was seeing, a lot of 1.6 was about moving large amounts of hardcoded things into data models, making them more consistent, and just generally making things more accessible to modders to modify (which is noticeable for sure and is part of the reason so many frameworks died)

teal bridge
#

Pretty much.

#

Many things are still hardcoded, so there may be a 1.7 that de-hardcodes a lot of that stuff, and it'll be a panic again.

gentle rose
#

but I stopped playing a week after 1.6 came out and came back around 1.6.14 SBVLmaoDog so I don't know the 1.6.9 stuff

lucid iron
#

if u look at pins theres like 2 junimo msg about 1.6.9 chaos

devout otter
#

CP mods need updating would generally be those that are dependent on obsolete frameworks.

lucid iron
#

and NPC

devout otter
#

We do have people trying to update Shiko every once in a while.

brave fable
#

if u look even harder at pins u will find a gif of me feeding pathos a mushroom

lucid iron
#

shiko-unofficial mod that's not actually an update of shiko, instead it's fanfiction about her ghost haunting us

gentle rose
#

I never know what's about to happen when the blueberry is typing... message pops up SDVpuffersquee /pos

devout otter
teal bridge
#

On an unrelated note, do any of the Sword & Sorcery C# contributors other than Casey lurk here? Since the latter is on hiatus.

lucid iron
#

well, it wouldn't be very polite probably

brave fable
#

let noone know ur next move SDVdemetriums

lucid iron
#

but if it's all new assets then technically it's fair use

lucid iron
#

r u concern about the adventure bar thing DokkanStare

teal bridge
#

Adventure... bar? I don't know anything about the mod except that out of nowhere 2 Nexus users reported issues related to the integration which I didn't know existed/was released. (We'd talked about it, but it never showed up as a dependency.)

calm nebula
uncut viper
#

a lot of the chaos was bc of smapi bugs too tbf

teal bridge
#

So I need to add them into the "plz update" list with Matt.

lucid iron
#

for a bunch of skill button type things i believe

teal bridge
#

Right, it was a whole conversation so I knew it could have been done, just not that it ever was done.

lucid iron
#

it also got iconic framework integration recently but theres something strange about it

#

whenever i go back to main menu it gib red error

teal bridge
#

This sounds like a fun 3-way love triangle of APIs... Iconic has a component for Mod Formerly Known As Radial Menu, and so does S&S, and S&S also has an Iconic component, and...

#

I'm not sure what that's supposed to look like when they're all together, but I guess I'm about to find out.

lucid iron
#

first time downloading content mod i see

teal bridge
#

I do have content mods, just not expansions.

tawny ore
#

What would be nice is if we could depend on the same unique id so that duplicate functionality can just arbitrarily pick one of them

calm nebula
#

Active low adventure?

teal bridge
#

How is... how did you get that?

gentle rose
#

bar

#

I wish there was tex support in discord, I could communicate so many bizarre things

tawny ore
calm nebula
#

Ie, in the form of q and qbar

gentle rose
#

(well, latex specifically, not just tex)

teal bridge
#

Ah, I see.

lucid iron
#

what if im a weird person who use both mouse and keyboard

tawny ore
#

At least in Iconic Framework every action is associated with a ModId.ActionName

calm nebula
#

That's. Normal

#

Weirdos use controll

lucid iron
#

*mouse and gamepad

calm nebula
#

Weirdo

lucid iron
#

sorry im also brainderp

gentle rose
#

I use almost entirely keyboard

teal bridge
#

Well, technically, if Iconic registers individual items into the library, and S&S registers entire pages, then they're off in different worlds and won't conflict unless users make them conflict.

gentle rose
#

people keep "discovering" keyboard shortcuts I use in the game all the time and meanwhile I can't remember which mouse button does what when I do use it pffft

teal bridge
#

I suppose also if they did conflict, users could disable the S&S integration and just use Iconic for that.

tawny ore
#

True, my intention is for Iconic to immediately switch to registering actions instead of pages as soon as that's available

teal bridge
#

Depending on your definition of available - it's in dev branch now and it is actually tested and working, I'm using it for AFS and also a set of internal items used to help with button remapping.

tawny ore
#

Especially since that'll work more nicely for anyone who can only target 8 direction and may have more than 8 icons

lucid iron
#

hm i need opinion

uncut viper
#

(soon tm)

calm nebula
#

Decompiler

lucid iron
#

do u think "Entries" and "Fields" have specific meaning in context of content patcher

uncut viper
#

y-yes?

lucid iron
#

trying to decide if i should translate the term

#

or leave as "Entries"

teal bridge
#

Who can only target 8 directions?

lucid iron
#

cus this doc also like, use "field" for the meaning of "field in a json"

tawny ore
#

Controllers exist that can only do U+D+L+R or combinations of those

uncut viper
#

i wouldnt use fields in the same place i would use entry even outside of content patcher

teal bridge
#

Controllers with analog sticks? Like d-pads that pretend to be sticks?

tawny ore
#

Yes

teal bridge
#

That sounds slightly horrifying, but good to know.

uncut viper
#

im not sure what the premise of the question is so we're matchies

lucid iron
#

yay

#

this part is describe meaning of entries and fields in the context of EditData

gentle rose
# calm nebula I meannn

in my defense, I both am already allergic to using a mouse on computers when I can help it and also did most of my stardew playing with a keyboard on an ipad or using a laptop pffft

lucid iron
#

then it goes on to use fields in the conventional json meaning

#

i was thinking maybe i just dont translate the content patcher kind of "entries" and "fields"

lucid iron
#

idk language hard

uncut viper
#

i think thats the same case though its just the target data in the Action case is kinda invisible

#

bc its a PatchData

teal bridge
#

I'm not sure I understand the question either, but there is no such thing as an "entry" in JSON itself. JSON has fields, values, arrays, objects, etc. There's no conventional JSON meaning of "entry".

uncut viper
#

but Action is still a field in the un-keyed patchdata block

lucid iron
#

hmmm

uncut viper
#

i would translate them separately

#

its i18n not l10n SDVpufferthumbsup /j

lucid iron
#

i do intuitively think i should translate "list" "dictionary" "model" also mentioned in this document

#

or rather, luo did it and i agree

uncut viper
#

i think you would know the answers here on how best to localize than a lot of people in here

lucid iron
#

idk i'd prob have better vibes if i learned cs in chinese

teal bridge
#

That would provide excellent security against anyone ever trying to modify or maintain one of your mods, as I've experienced out in the work world.

tawny ore
#

Nice, I'll start obfuscating my code by having ChatGPT translate it to latin before every push

lucid iron
#

i am sort of a designated "hey read this chinese comment in the code for me" person

#

for my also dev job friends

teal bridge
#

I'm used to having to try to make sense of comments written half in French, Polish, Spanish, etc... but when I see CJK in the source code I run away screaming.

calm nebula
#

Cjk?

gentle rose
#

cjk breaks half the things I look at code on

lucid iron
#

chinese japanese korean

teal bridge
#

Cyrillic does not make me happy either, but I haven't seen it very often.

lucid iron
#

the east asian square characters gang

calm nebula
#

Oh

#

The unicode fun gang

velvet narwhal
#

what's that one buckwild character that is impossible to write in pixel meow_googly_party

lucid iron
#

biang

gentle rose
#

some korean characters look so much like hebrew it genuinely catches me off guard

lucid iron
#

𰻝𰻝面

#

who unicoded this

velvet narwhal
#

that's two spiderwebs and a normal letter

lucid iron
#

𰻞𰻞麵

teal bridge
#

58 strokes. That's impressive.

uncut viper
#

i cant tell if you're making a joke or if Discord just isnt displaying them properly

teal bridge
#

I just see three boxes.

calm nebula
velvet narwhal
lucid iron
#

the second one is traditional

velvet narwhal
#

two spiderwebs and an actual unicode

teal bridge
#

I'm guessing you need certain fonts or font support packs installed.

lucid iron
#

yea monS

teal bridge
#

Two balls of dryer lint and a helicopter.

tender bloom
#

is this biang biang mian

uncut viper
#

how do i unlock the secret unicodes in my discord

calm nebula
#

Hi my dear mathperson

#

Yes

uncut viper
#

why are they withheld from me

gentle rose
#

if you're on the discord desktop app I think it has bad font support s_sigh

calm nebula
#

I'm gathering the sanity to go to a home depot

hard fern
#

oh its the ultra character i cant read

gentle rose
#

I'm on browser and it works fine here though

tender bloom
#

you only have 40 min before they close

#

i can see the whole noodles

#

i'm on desktop app

#

but i updated my os in the last year

hollow hazel
#

it might have to do with your downloaded languages idk?

teal bridge
#

Web looks the same, FYI. I ☐ Unicode.

#

I'm sure it has to do with which fonts are installed on the OS.

tender bloom
#

ok i do get a box on that last one SDVpuffersquee

uncut viper
#

copying it into google lets me see the very last letter at least

gentle rose
#

same

tender bloom
#

did you put the box character in

teal bridge
tender bloom
#

nice i guessed it

hollow hazel
#

i have simplified chinese downloade to my key board and i see thm fine

calm nebula
#

Oh, look, actual modding content

gentle rose
#

are you on win11 elizabeth? I hear the font issues might be a win10 thing

tender bloom
#

no

calm nebula
#

Or maybe nog

tender bloom
#

i'm on macos

velvet narwhal
#

this is modded content, chue's translating cp docs meow_googly_party

gentle rose
#

fair enough SDVpuffersquee I'm on browser because I'm currently on linux

tender bloom
#

i have traditional intalled

#

and i guess simplified handwriting? i don't remember why

hollow hazel
#

maybe a discord thing then?

tender bloom
#

i mean i assume in my case it's using the unicode version macos ~1 yr ago released with

#

which apparently includes biang

teal bridge
#

It probably looks fine on my Mac then. But I'd have to walk almost 20 steps to check that.

hard fern
#

hold on what keyboards do i even have installed

calm nebula
#

My dear mathperson, do macs come with biang biang noodles

tender bloom
#

sadly no

#

at their prices they easily could

#

the supply chain logistics would be terrible

lucid iron
#

so how do we add 𰻝𰻝面 to the game

calm nebula
#

You have to do a minigame

#

Please

#

Chue

#

I want to fail at pulling noodles in stardew

lucid iron
tender bloom
#

you have my permission to add it to fireworks festival if you want 😛

lucid iron
#

?

tender bloom
#

i put in changshoumian for the lunar new year mod

calm nebula
#

(I actually do make biang biang noodles sometimes)

#

P

uncut viper
#

unrelated to noodles but related to modding/nexus, i didnt realize that alongside the new UI beta they also released their Bonus Rewards system for highly important mod authors SDVpufferthinkblob i wonder if Pathos got a chunk of that

#

id be very surprised if not

calm nebula
#

(He deserves every Canadian penny.)

#

....does Canada still have the penny

tiny zealot
#

not physical ones

uncut viper
#

no

#

they do still respect the hundredths place in decimals though yes

tribal ore
#

If I ever step into doing C# mods, I'm going to add a lockpicking minigame. For no reason

#

Though that's probably just the Skyrim player in me

scarlet pasture
#

For content patcher, is there a way to remove dialogue? e.g. Emily has 0 and 4 heart dialogue for mondays in the summer. Can I remove the 4 heart and have 0, 2, and 6 heart dialogue instead?

uncut viper
#

yes, EditData and replace them with null

scarlet pasture
#

Awesome ty

tribal ore
#

The "nuke it" option

lucid iron
#

just remember it might not work if something else overrides that

tribal ore
#

As in, other dialogue mods?

lucid iron
#

ya

#

this is warning to test ur mod by itself basically

scarlet pasture
#

Yeah, testing feels like it's going to be a headache lol. Luckily I'm not at that point yet

dreamy cedar
#

About a week ago I asked the chat about a problem I was encountering in Junimatic where Junimos would very happily walk through walls. I got a super-helpful reply from @brave fable who had the same problem and pointed out some game code that seemed to be solid proof that it should be working fine... But it wasn't. At long last, I think I sorted it. Basically, if you do this:

npc.controller = new PathFindingController(npc, ...)

It'll work correctly IF npc.controller is null already. If it already has a value (like, it's still set to whatever controller got the npc to its current position), then the resulting controller will path through walls. So what you always need to do when updating the controller is:

npc.controller = null; // Because reasons.
npc.controller = new PathFindingController(npc, ...)

I stared at the implementation of PathFindingController and I haven't yet spied why this should be so. (I see some conditionals on the controller, but it seems to have something to do with doors, so I don't think that's the culprit).

calm nebula
#

It's because Collison is disabled if npc.controller is not null basically

#

Is weird

lucid iron
#

@wicked shore regarding your question, have you compiled the C# portion of the mod?

wicked shore
lucid iron
#

(context: trying to change tractor mod spawn point, smapi log)

wicked shore
#

Fairly new to this but essentially after each change I would rebuild the solution, no errors, load it up and nothing

ocean sailBOT
#

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

wicked shore
#

I have successfully changed textures, collision, size, animation and configs. The only thing I cannot get to work is that darn X and Y value on ln 691 /// <summary>Get the default Combine tile position in a garage.</summary>
/// <param name="garage">The Combine's home garage.</param>
private Vector2 GetDefaultCombineTile(Stable garage)
{
return new Vector2(garage.tileX.Value + 8, garage.tileY.Value + 6);
}
}

lucid iron
#

i can't find this code in the tractor mod

wicked shore
#

Under the ModEntry.cs very bottom ln 691

wicked shore
#

oops lol sorry 685 on the github file

lucid iron
#

did you rename it

#

i see a GetDefaultTractorTile in here

wicked shore
#

yes my apologies i did rename it from tractor to combine xD

lucid iron
#

ok cool, got confused for a sec

#

well it does look like right change to do bolbthinking

#

would recommend testing with less mods

wicked shore
#

seems to be referenced twice, once for returning the tractor at the end of the day and the other for when the garage changes location

lucid iron
#

in case strange incompat going on

#

i dont think it saves the position as far as i can tell, but consider new save just in case

wicked shore
#

That has embarassingly not crossed my mind xD

#

Will do!

lucid iron
#

ur mod list has a bunch of outdated stuff monS

#

its prob a good idea to prune at some point, and update versions to latest

#

but this is a tangent from actually getting ur personal edit to work

wicked shore
#

lol xD still appreciated, wouldnt surprise me if that would be the root cause

#

Just glad to get someone else to validate I was atleast looking in the correct spot!

lucid iron
#

hm actually

wicked shore
#

suspense building

lucid iron
#

this is definitely in tiles and not pixel position right

wicked shore
#

largest value i tried was 50, it would be easy to test though.

gaunt orbit
#

Looking through fertilizer code and it's surprisingly permissive. All you really need for custom fertilizers is the right item category (-19) and a transpiler to do custom texture drawing.

lucid iron
#

ok it is tiles there's a * 64 later

gaunt orbit
#

Coming soon eventually to a framework near you

lucid iron
#

more fertilizers!

brittle pasture
gaunt orbit
uncut viper
#

atra would probably let you steal More Fertilizers maybe

brittle pasture
#

wait does it fallback to a default

gaunt orbit
#

At least I think so? Not sure what source rect it defaults to

lucid iron
#

i look forward to finally redoing sprinkler attachments where i had been a fool and redid half of the fert logic manually

weak pulsar
#

Hello everyone! I know of frameworks to give multiple skins for animals/objects/etc exist, but which would allow me to add multiple/new sprite sheets for critters in the world? ( like the birds/seagulls/bunnies/squirrels and such in the world?)

reef kiln
#

A fertilizer that effects regrow speed as well as initial grow speed would be great.

lucid iron
#

there's nature in the valley that let you add new critter like things

brittle pasture
gaunt orbit
#

Custom companions can do that sort of

lucid iron
#

as well as ornithologists guild

#

but the builtin critters are mostly stuck i think

weak pulsar
#

Does anything allow critters to pick from multiple sheets? Or is it replacer only?

lucid iron
#

well u just make new bugs/birds/etc

#

they r new entities

weak pulsar
#

Oooh man bummer!! But at least I can add more with the other mods!

lucid iron
#

besides that u can do stuff like

weak pulsar
#

Thank yall for the quick advice EyeShake

lucid iron
#

onlocationchange editimage critters.png

#

to change seagulls randomly

#

when u go2 beach

#

this isnt really framework and it'd change every gull at once lol

gaunt orbit
lucid iron
#

i would recommend adding birbs/bugs

weak pulsar
#

Awesome, I'll do my own replacer + additions then!! MewHeartShiny

lucid iron
#

bugs (nature in the valley) is bit newer and the author is 8AwA8 on this seaver

reef kiln
weak pulsar
#

OoOoooh all of those sound perfect. And when I'm ready I 100% wanna make a PKMN pack for 8AwA8's Nature in the Valley MewHeartShiny

gaunt orbit
gaunt orbit
# brittle pasture wait does it fallback to a default

It always draws fertilizer from cursors if any fertilizer is on there, but I don't know what section of cursors it draws if it doesn't match a vanilla fertilizer. In theory I could postfix it to redirect to an empty region of cursors, but I think a transpiler is less hacky in this case

calm nebula
#

I went with a transpiler ish

#

I changed the draw tint and the source rect

brittle pasture
#

my memories fail me again, I could have sworn it didnt have a default case SDVpufferwaaah

lucid iron
#

u know looking at atra's mods by endorse

#

how come GIMA hasnt been updated LilyDerp

#

it seems really popular

uncut viper
#

how come GIMA hasnt been updated, atra

lucid iron
#

*updated unofficially i mean

uncut viper
#

its tangled into atracore

calm nebula
#

It's not that tangled

uncut viper
#

but more tangled than a lot of people doing unofficial updates care to untangle

teal bridge
#

Does SaveLoaded fire for co-op players joining? And if not, is there any event that does?

calm nebula
#

It should fire

gaunt orbit
#

so as far as I can decipher it defaults to [173, 462, 16, 16] if it doesn't recognize it

#

which I think is the same as basic fertilizer?

teal bridge
#

Don't recall ever actually using basic fert but it's the first in the grid so it should be basic.

brave fable
#

of all the stupid interactions

dreamy cedar
#

Alas. The SDV code violates at least a dozen "never do that" rules I applied in professional life that usually prevent this sort of odd behavior from cropping up. Funny thing about "bad code" is that it often makes users happy anyway.

brave fable
#

i'm fairly sure i was reassigning pathfindcontroller for each new path when i last needed it (my sdvhalloween2024 mod) so it checks out that they were going through walls

#

i ended up going with a solution that just moved them randomly one tile at a time, which was fine since it checked if the tile was open, so it'd never hit/pass walls

ivory plume
#

@astral prism Hi! The Train Station mod is deprecated and won't be getting any further updates, besides minimal compatibility fixes. It's getting replaced by Central Station (see [pinned message](#making-mods-general message)), which will be released this week.

If you're interested, the attached Content Patcher patches would fully replace both the [BL] Downtown Zuzu and [TS] Downtown Zuzu content packs. See the attached screenshots, and a zip with Central Station + Downtown Zuzu so you can try it out.

dusty scarab
#

so I got another strange bug report (this time for my greenhouse mod), and I'm not sure how to fix it. it's a CP mod that adds greenhouses of various sizes to Robin's shop, and part of the perks is that it allows giant crops to grow indoors.

the giant crops persist through the seasons, but disappear from the greenhouse after quitting the game and reloading. CP and SMAPI are both updated to their most current release versions. does anyone know what might be causing this?

lucid iron
#

might be how giant crops are?

#

theres a mod called giant crop tweaks

dusty scarab
#

giant crops persist through seasons and loading on the farm, so I can't imagine they wouldn't do so in the greenhouse

uncut viper
#

well, theyre meant to be in one place and not the other. sometimes you have to image weird things when a bug report indicates that stardew might just be That Weird

lucid iron
#

i feel like you as a mere CP mod cant do anything about it either way PecoSmile

dusty scarab
uncut viper
#

i dont see anything immediately in any giant crop code that might lead to it but since its a terrain feature who knows where it might be buried in some terrainfeature enumeration

#

or if its there at all and not a mod conflict

dusty scarab
#

you'd think that it'd still be okay even if it was a terrain feature since the Tiled data has that flag set

uncut viper
#

im not saying it being a terrain features has anything todo with it, im saying itd be hard to find code that does things to giant crops specifically bc it might just be looping over a list of "TerrainFeature" and not like a list of "GiantCrop"

dusty scarab
#

ahhh

uncut viper
#

it is a terrain feature

#

nothing set behind any When conditions by chance?

dusty scarab
#

pretty sure these are the only When conditions, and they relate only to the greenhouses being visible in Robin's build menu

uncut viper
#

ive got nothn then

dusty scarab
#

here's the full snippet for a greenhouse, if case there's a When condition I missed

tender bloom
#

this used to be true in the greenhouse pre 1.6 fyi

#

i am not entirely sure if this was changed

#

try requiring Giant Crops mod?

#

casey's one

#

that one definitely fixed the giant crops disappearing in greenhouse in 1.5

dusty scarab
#

I will definitely offer that up as a suggestion to the person who submitted the bug report, thank you. I don't know why things changed in 1.6.16, but I'm glad to know that there's at least a work-around for it

tender bloom
#

I have not investigated giant crops at all in 1.6, so there may have been significant changes

#

Khloe also has a giant crops mod that may or may not be relevant/updated

dusty scarab
#

the weird thing is, the giant crops worked (to my knowledge) in 1.6.15, and I can't imagine what might have changed between now and then

tender bloom
#

That is definitely weirder

#

Maybe they have a mod conflict?

dusty scarab
#

I'm using an entirely different mod set, and I'm getting it on mine as well

dusty scarab
# tender bloom try requiring Giant Crops mod?

I am having difficulties finding the mod you mentioned, the only one by Spacechase that I could find only added additional giant crops to the game if you had the proper artwork for them. do you happen to have a link to the one you were talking about?
nevermind, found it (it didn't advertise the greenhouse fix, so I overlooked it at first), and it is not working for 1.6 :<

#

actually.... I'm going to try something else real quick nevermind, it did not work

#

https://www.nexusmods.com/stardewvalley/mods/25310 I was using this mod to force giant crops to grow, and it had a greenhouse option, and enabling that option does not keep the giant crops persisting across quitting and loading

Nexus Mods :: Stardew Valley

Adds configuration options for giant crop growth chances and additional locations (Greenhouse and Ginger Island Farm).

winter dust
#

@stone fjord Hey, what happened with your version of Eemie's Recolour mod?

rancid musk
winter dust
#

Not possible, they haven't updated then.

latent mauve
#

Demand full log, odds are good they have the latest version of the MOD but not the game

winter dust
#

I guess direct them to verify their game files.

#

I wonder why Better Crafting requires specifically 1.6.15 or later?

rancid musk
#

Yeah, I'm just amused.

#

Oh, I always set my minimum game version to whatever I compile against.

winter dust
#

Ah yeah, that's not a bad idea tbh.

rancid musk
#

Since a lot of 1.6.x patches have made breaking changes.

winter dust
#

For my content packs I do the bare minimum version that everything can work on, and go from there.

rancid musk
#

And it's super easy to do with ModManifestBuilder

winter dust
#

Of course, there were several initial 1.6 versions where my mod was broken by the bus mechanic being updated, but that won't happen again, surely.

#

I have to check out Better Crafting, I've not checked it out yet.

latent mauve
#

I mean, build for compat with Central Station and you should be good from now on? LOL

winter dust
#

That's what I was going to do, look into Central Station, thanks for reminding me.

#

Oh right, Central Station replaces BusLocations too doesn't it?

latent mauve
#

Just as a heads up, the current(?) alpha won't show the bus menu until it's unlocked but that should be fixed on the next one it got fixed

#

Oh wait, I missed a new alpha update earlier today/yesterday, it's probably fixed

#

This is why the question mark LOL

astral prism
gentle rose
#

haha that got fixed like three alphas ago!

astral prism
#

oh wait, i just saw you literally have the pack done! what a legend. thank you so much 😮🫶

winter dust
#

Gonna be using CentralStation for Garden Village then.

latent mauve
#

Yeah, I was busy at work and Pathos apparently released a ton of alpha versions while I was gone! Just finished catching up on the updated docs

winter dust
#

@ivory plume Heya, so I was wondering if there were gonna be any more UpdateKey entries made available in the future? I know it takes a lot of time to set them up, just wanting to know, thanks.

winter dust
#

If you didn't specify a price within STF for items in a store, does it default to what price was defined for each item?

median dune
#

Hey @lucid iron, regarding the invetories. I take it that I can just pass null for methods I don't do custom actions for like highlightFunction? Or is it something necessary

grave scarab
#

Hiya, I'm doing some troubleshooting to do with my localisation and UI re-colour mods

#

basically at least one of them has trouble with loading assets and things being replaced (I can't help some of them as it's designed to do that), more importantly small things like the title menu buttons having no text (UI mod provides a custom font)

#

in-game text works fine and my mod does not modify the base game's title menu buttons or the font

#

anyone know which file the title buttons' text are located in?

winter dust
brave fable
#

thanks for the help with the absurd dialogue question strings earlier, by the way
@velvet narwhal @gaunt orbit @calm nebula SDVitemgiftblue
somehow it actually turned into some completely functional complete gibberish
&& @vernal crest xo xoxoxo xo

#

i think it was you three anyway. if not, no refunds

grave scarab
# grave scarab basically at least one of them has trouble with loading assets and things being ...

alright I figured out what is happening, not sure how to fix it though without having to copy a file from the other person's UI mod:
UI re-colour mod has the Minigames/TitleButtons assets split out into a "base" TitleButtons.png sprite with the buttons, and a separate base-game-language-specific TitleButtons_{{language}}.png file with transparent background, containing the actual text which is overlaid onto the button

#

this is in contrast to the base game having the base TitleButtons.png sprite having the English text on by default

#

as a result, since my language code is en-GB and not en, their mod looks for a non-existent TitleButtons_en-GB.png, fails and fails to overlay any text on their button

velvet narwhal
brave fable
#

didn't you write the tutorial on nested dialogue questions SDVdemetriums

#

but the pep talk was also extremely important and i didnt say thank u at the time

velvet narwhal
#

no that was aba

brave fable
#

well you linked it and that's as good as author credit

velvet narwhal
brave fable
#

you wrote... the url

velvet narwhal
#

redirect your love to @vernal crest cause aba did take awhile to write it and i use it myself

grave scarab
#

is there a way I can report a different language code to these UI re-colour mods, or do I have to create compatibility mods to fix individual cases?

#

in 99% of cases all I'd need is for the other mod to see en instead of en-GB

#

and the former is an exponential amount of work to keep up with

vernal crest
winter dust
#

So, my NPC Shop is accessible regardless if an NPC is nearby, specifically the NPC I designated, would setting it to "AnyOrNone" fix this?

hallow prism
#

i think the wiki has info about that

calm nebula
faint ingot
#

question: is it possible to wipe an NPC's 'memory' of having responded to a conversation topic? So that they can have the same response to that topic on multiple occasions?

#

basically I want to add an $action trigger to a dialogue when a conversation topic is active, but need that action to be triggered more than just once if the player wishes

ocean sailBOT
#

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

calm nebula
#

It feels like friday

#

Yes, remove the mail flag <npc name>_<conversation topic>

faint ingot
#

awesome thank you

faint ingot
#

I officially have a chicken next to my name now yay SDVpufferparty

fading walrus
#

i'm frankly amazed i managed to cheeto you without also accidentally giving you five other roles

wanton pebble
#

Sdvhead Is now server admin thanks quill SDVpuffersquee

fading walrus
#

LYOKO NO DON'T SCARE ME milklaugh

faint ingot
#

watch out i'm going mad with power

fading walrus
#

I had butterfingers while cheetoing

hallow prism
#

can i remove a tile data with CP edit?

wanton pebble
#

I believe so

calm nebula
wanton pebble
#

I'm almost certain I used it in part of a saloon breakfast To get rid of SVE's Tile stuff

#

In the saloon that is

#

You just null the action Or whatever else the property is

brave fable
fading walrus
fading walrus
hallow prism
#

i have rainbow roles

gentle rose
#

I technically have a published content pack now, can I get contentsmith SBVLmaoDog /lh

#

(the published content pack is boncher)

drowsy pewter
#

I technically have a published C# mod ignore that atra wrote it

hallow prism
#

progress

calm nebula
#

Maybe I should do something about it

vernal crest
#

Ooh I do actually qualify for more Cheeto roles now because I have released a mod with my own art and my own C#! (With a lot of help from Roku haha)

blissful panther
vernal crest
#

-polite cough- and my own art!

vernal crest
#

Thanks DH! SDVpufferheart

gentle rose
calm nebula
#

No

gentle rose
#

knew it

vernal crest
#

They get those every time they even express a thought about mods though

gentle rose
#

publish them under an alias that nobody will recognise

#

vitaatra,? jatravita,?

#

DRMP

#

publish as drmp

vernal crest
#

MathPerson. Make us all guess which one of you did it.

slender badger
#

Ativarta, no one will guess that SDVkrobusnaughty

gentle rose
#

unfortunately the three mathpeople have three different tastes in mods SDVpuffersquee

vernal crest
#

We just need to recruit more

#

I could not be one though because my cover would be blown as soon as I tried doing any maths lol

gentle rose
#

mathpeople assemble

blissful panther
#

Need to start a guild of MathsPeople to compete...

hallow prism
#

i can be NotAMathPerson

blissful panther
#

To be fair, I couldn't in good conscience call myself a MathsPerson...

gentle rose
#

I have the certification to say that I am one but the refusal to be a part of any group is strong

brittle pasture
#

oh you're a math person? name every number

gray bear
#

0-9

#

(i am whatever the opposite of a math person is)

gentle rose
#

what kinda number

blissful panther
#

Imaginary only.

hallow prism
#

gentle rose
#

natural, complex, rational,

#

isn't that just {iz | z in ℤ}

#

for all the imaginaries SDVpufferthinkblob

#

oh there's actually a symbol for it directly, 𝕀 lmao

#

there ya go, all the imaginary numbers

gentle rose
hallow prism
#

you want imaginary numbers? imagine them yourself!

gray bear
#

but i don't want to imagine numbers cat_cry_cc

brittle pasture
#

would you rather Imagine Dragons

gray bear
#

no i want the dragons to be real

tiny zealot
gray bear
#

oh wow.

calm nebula
blissful panther
#

You know, maybe I ought to fix that by now...

gray bear
#

you went from festive to human? suspicious /j

hallow prism
#

if i want to have like, a menu with choices and those choices are setting a flag/triggering an action

#

is there a framework allowing that?

tender bloom
#

Valentines is a holiday

hallow prism
#

i bet on spacecore, i hope it does

blissful panther
tender bloom
#

I think that framework doesn’t exist

true coyote
hallow prism
#

oh well

#

i tried 😄

tender bloom
#

But people were talking about it

tender bloom
#

So it might exist in the future?

brittle pasture
#

I bullied chu into adding it

hallow prism
#

ok mandatory question of what is MMAP

calm nebula
#

Chue's more map properties

true coyote
#

misc map action properties I think?

hallow prism
#

thanks 😄

true coyote
#

but i may be pulling that out of my ass

hallow prism
#

i'll look into this

calm nebula
#

Meep, mmap

hallow prism
#

i may do a basic version without a question and then a complex with one with MMAP as optional dependncy

#

we need mipp and mo0p then

true coyote
#

and morp

gentle rose
#

clearly it's meep, mmap, mopp

lucid iron
#

Mrrp

blissful panther
#

(Can we get some kind of... centralised mod-added tile property page so I don't accidentally add something that doesn't exist in future? SDVkrobusgiggle)

tiny zealot
#

thinking about MMR and MUMPS and once again wondering when MEASLES will be released

lucid iron
#

Tbh i wouldn't mind if we just combined into captain planet

brittle pasture
#

framework authors feel free to edit and shill endlessly

tiny zealot
#

(i also think it's okay if there's accidental overlap in which mods provide which map properties)

lucid iron
#

MMAP started as map stuff that i was hoping to PR into other ppl's map thing