#making-mods-general

1 messages ยท Page 262 of 1

lucid iron
#

Cornucopia_LotusSeeds in more flowers

deep cypress
#

Its's always Spacecore!!!

lucid iron
#

so yea take ur pick anaira 3sSmolMiku

summer sluice
#

SDVpufferwaaah bruh my custom farm isnt commiting the changes

anyone searching for a solution to this same issue:
i copied the file with a different name, (e.g: BushFarm.tmx being copied to a file called BushFarm2.tmx); changed code to load the clone and issue is resolved

#

this is suffering lol

#

would anyone happen to know what a common issue for this would be?

vernal crest
#

Are you sure your mod is loading? Are you sure you're saving? Are you sure you're editing the correct file? Have you tried with a new save?

#

This one is an actual question: are you making a replacer or a new farm?

summer sluice
#

new farm

#

all of a sudden it just decided to quit updating, even on new saves

vernal crest
#

That sounds like an "editing the wrong file" issue

#

If you're 1,000% certain that you're editing the right file and that you haven't accidentally changed your code to load the wrong file or something, have you scoured your log?

summer sluice
#

in my whole mod, there's the farm file and one other map file so i'm sure of that

#

checking code rn holup

#

code hasn't been touched at all today, issue came up more recently than that

fathom hound
#

im really sorry, i dont see anything Cornucopia_LotusSeeds in SpaceCore or Cornucopia more crops SDVpufferweary

#

which file am i supposed to be looking at? like destination

brittle ledge
fathom hound
#

but chu said it was!

#

just dunno where to look

brittle pasture
#

More Flowers is a separate mod

brittle ledge
#

More Flowers is a separate Cornuco... yes, that

fathom hound
#

ohhh

#

thanks yall sorry i dont play modded LOL SDVsobastian

brittle ledge
#

you're missing out ๐Ÿ˜›

fathom hound
#

after i finish vanilla farms ill play it again

vernal crest
lucid iron
#

why are you making mod if you dont play modded rn

summer sluice
#

yea, it's workin

fathom hound
vernal crest
#

It's just very curious

summer sluice
#

ok just copied the file with a different name, changed code to load the clone and issue is resolved on new saves

fathom hound
#

i just love the game so much i appreciate vanilla for how it is SDVpuffersquee but i like modding

vernal crest
#

Fair enough

fathom hound
#

im just built diff ig idk

vernal crest
#

I couldn't love the game nearly as much without mods

fathom hound
#

its the only game i can play vanilla and love it entirely

vernal crest
#

As great as CA is, he is just one person so he only has so many strengths. With a modding community there's just so many people's strengths added onto his.

fathom hound
#

totally

#

which is why im SO EXCITED for this mod im making now

#

its just a couple crops but idc :D

wind haven
#

My game is 85% mods and 15% stardew, and the game wouldnโ€™t be the same without either

vernal crest
#

I also LOATHE the fishing minigame so if I hadn't yeeted that I don't know how long I would've lasted lol

brisk wedge
#

Is there a setting on nexus that lets me edit a mod description using markdown formatting?

wind haven
#

I love fishing, Iโ€™ve seen a lot of people donโ€™t

fathom hound
#

did you guys wanna see sneak peek of my mod idea ^_^

fathom hound
#

also hi apryll SDVpufferheart

brittle ledge
#

pretty sure it's BBCode only, cat SDVpufferchickcry

deep cypress
#

I use BJB Cheasts for the fhishing.... helps so much!

vernal crest
deep cypress
#

Hi Anaira!

fathom hound
#

name is tbd hahaha

deep cypress
#

I love that!!!!!!!!!!!!!!!!

fathom hound
#

thanks im really excited to use it one day heheheh SDVpuffersquee aSDVemoteheart

deep cypress
#

It feels like it fits in really well with the lore!

brittle ledge
#

yeah I always make mods I want to play with so that's why I'm surprised you make mods and don't play with them SDVpuffersquee

fathom hound
#

i try my best to be as vanilla-coded as possible

deep cypress
#

Imma go to bed, work onite, good nite all!

fathom hound
fathom hound
brittle pasture
#

only Switch

vernal crest
brittle pasture
#

we told them to buy the game, but they say they wanted to do it mainly to practice pixel arts and not actually play

brittle ledge
#

some people like the act of creating! I think it's just easier to find and get enthused for an idea that you yourself would enjoy using kyuuchan_nod2

brittle pasture
#

which, well, I suppose

fathom hound
fathom hound
#

CA is the whole reason why im in college to wanna be in game design to begin with

vernal crest
#

I'm excited to play my own mechanics mods but less so with the story mods because I just wrote it all, I know what's going to happen

#

That being said in a few years I'm going to be like "wow this Hiria mod is really great! Who made this?!" xD

fathom hound
#

trust me ive been ITCHING to play with my vanilla cooking recipes SDVpuffersquee

brittle ledge
#

You're not at that Rochester college for game design, are you? Their final projects seem to often be Stardew mods so you'd have an edge SBVLmaoDog

fathom hound
brittle ledge
#

You've not seen their mods before?

fathom hound
#

no o:

lucid iron
#

wait really

fathom hound
#

really o: i'm interested

brittle ledge
#

https://www.nexusmods.com/stardewvalley/mods/30125 here's one of the ones I remember

Nexus Mods :: Stardew Valley

Journey deep into the mines to stumble upon a management facility for the afterlife. Meet the denizens of Hellfall LLC and uncover a conspiracy which ousted the previous leader, Luci.

#

They usually involve some small storyline kyuuchan_nod2

fathom hound
#

i got a 105 in my class using stardew the entire time LOL, but it wasnt a comp sci class

fathom hound
#

imagine being in SC then all of a sudden ur in purgatory

vernal crest
brittle ledge
hallow igloo
#

haha valid!

lucid iron
#

its shame they r just made once and done

fathom hound
#

do you guys think it would be safer to use SpaceCore or this as a framework for multiple yields???

lucid iron
#

spacecore is more common

#

not a safe thing just convienance thing

fathom hound
#

nothing to do with the whole "save serializer" thing?

#

im assuming they both do that

brittle ledge
lucid iron
#

spacecore does a bunch of things

fathom hound
#

wait thats adorable

lucid iron
#

save serializer is a feature unrelated to the crop drop feature

fathom hound
#

gotcha, just wasnt sure if one would be less reactive to updates than another

lucid iron
#

well multi yield crops is cherrychain-pathos and spacecore is casey

#

both r 1.6 dev so they would surely know if updoot PecoSmile

fathom hound
#

ohhh gotcha

#

okay cool, i might just do spacecore then

brittle ledge
#

yeah, in general messing with the save serializer can be risky, but if there's two people we can trust to do so safely it's 1.6 devs Casey and Pathos kyuuchan_nod2

fathom hound
#

i kinda want to understand all the elements of the mod im making before i dive into it... can someone explain to me what makes this a multi yield crop because i see both id's are the same

#

also thanks all! SDVpufferheart

lucid iron
#

the second one is gated by a When cond

#

as for why its there twice with the same data, im not sure

#

6480 would know

fathom hound
#

oh okay, so if i have 2 crops from the same plant every single harvest, do i just need to add both id and itemid's with each other?

lucid iron
#

pick one crop as the main one

#

and the other one goes in the Drops list

fathom hound
#

Stardrop is main and Stardrop Tea Leaves is second

#

tysm chu! <3

unique mountain
#

I want to make animated portrait for Romanceable Rasmodius Redux Revamped(RRRR) and I use spacecore to do it.
Code in the image can run without error and in game portrait are animated but RRRR has seasonal outfit and hairstyle that can be customized. I don't know how to add that part I understand a little bit about dynamic token but don't know how to apply with spacecore.

lucid iron
#

it depends on how RRRR setup their portraits

#

if they load the seasonal hairstyle/outfit to a different target, you also target that one

#

if they are doing EditImage on the base portrait, you will need to follow their When conditions

#

should you require their settings tokens, use CMCT

fathom hound
#

Wish I could mod on the go :(

#

where would fully grown crop sprites be?

lucid iron
#

@ivory plume hi pathos how are you
Do you have thoughts about mod integration for Lookup Anything? My specific situation is that I am making a stardewui mod which does not allow me direct access to the implementation of IClickableMenu, so I can't do the hoveredItem thing, instead I have a terrible harmony patch on GetSubject instead. It would be nice if I could direct manage what my hovered item is, though I am not sure what this looks like as API.

wanton pebble
#

(Is there a quick way to force the pregnancy question?)

lucid iron
#

yea i have a wip mod for that

lucid iron
#

there's settings to make the question chance 100%

#

maybe i ought to make a trigger too bolbthinking

#

just so u know i suspect this explodes polysweet kyuuchan_run

wanton pebble
#

I mean

#

I don't mind it exploding PolySweet since I'm using Polyamory

#

But if it explodes Polyamory, I shall sob and manually figure out the pregnant stuff

#

I've figured out the problem set of code, I just don't know what's tripping it to make it always hit the "else" statement:

[HarmonyPatch(typeof(QuestionEvent), nameof(QuestionEvent.setUp))]
        public static class QuestionEventPatch_setUp
        {
            public static bool Prefix(int ___whichQuestion, ref bool __result)
            {
                if (___whichQuestion == 1)
                {
                    if (lastPregnantSpouse == null)
                    {
                        __result = true;
                        return false;
                    }
                    Response[] answers = new Response[]
                    {
                    new("Yes", Game1.content.LoadString("Strings\\Events:HaveBabyAnswer_Yes")),
                    new("Not", Game1.content.LoadString("Strings\\Events:HaveBabyAnswer_No"))
                    };

                    if (lastPregnantSpouse.Gender == Game1.player.Gender)
                    {
                        Game1.currentLocation.createQuestionDialogue(Game1.content.LoadString("Strings\\Events:HavePlayerBabyQuestion", lastPregnantSpouse.Name), answers, new GameLocation.afterQuestionBehavior(AnswerPregnancyQuestion), lastPregnantSpouse);
                    }
                    else
                    {
                        Game1.currentLocation.createQuestionDialogue(Game1.content.LoadString("Strings\\Events:HavePlayerBabyQuestion_Adoption", lastPregnantSpouse.Name), answers, new GameLocation.afterQuestionBehavior(AnswerPregnancyQuestion), lastPregnantSpouse);
                    }
                    Game1.messagePause = true;
                    __result = false;
                    return false;
                }
                return true;
            }
        }
#

And yes, I know it's that - deleting that code set makes me able to have bio children

#

or at least it does if I also remove the thing prefixing the event itself, mind*

lucid iron
#

ah yea thats a skipping prefix huh

wanton pebble
#

Yeah. something in it is forcing always adoption and I have checks nine hours left to figure out what

lucid iron
#

which mod has this code?

wanton pebble
#

Polyamory!

rigid musk
#

You know, I was about to ask a question and i answered it myself.. let's see if I can do dynamic tokens without help this time ๐Ÿ˜Ž

wanton pebble
#

(The EnderTedi one)

lucid iron
#

im guessing lastPregnantSpouse.Gender is not updating as expected then

wanton pebble
#

Yeah, that's what I'm suspecting too. I'll have to chase that down

lucid iron
#

i did have it on to-do to make polyamory work properly with my mod

#

it might be ok?

#

since i never patch this method only the night event picking thing

wanton pebble
#

we'll see in a moment, I'm resetting everything rq and adding the Have More Kids thing

lucid iron
#

making new mod: fun and enjoyable
integration testing with other mods: death SDVpuffersmile

molten owl
#

^
this is so true

mossy stump
#

Hi

wanton pebble
#

Oh my goodness I am such an idiot, even if this wasn't my code, the answer was right in front of me the whole time

fathom hound
#

Iโ€™m curious & a noob, what was it?

wanton pebble
#

The have player baby question - the non adoption one - fires if if (lastPregnantSpouse.Gender == Game1.player.Gender)

#

except

#

If that's true, then that means that's a same sex relationship

lucid iron
#

oh ig it just doesnt check SpouseAdopts at all then

fathom hound
#

Ahh

wanton pebble
#

I'm sitting here this entire time and going "why am I always adopting???" and it's because Polyamory's check checks the wrong way SweatSmileIan

#

At least it's an easy fix?

lucid iron
#

yea

#

no magic same sex bio kids for u

light bramble
#

do we know what the string of text is if you do not add the stardrop tea with a gift taste/message?

#

Asking because the person I'm making an NPC for wants to incorperate parts of it into the dialogue for that gift item.

ivory plume
lucid iron
#

if you look at npcgifttaste note how no one has StardropTea

#

but everyone has AcceptGift_(O)StardropTea in their dialogues

light bramble
#

I know, it's kinda why I want to know what the game spits out if there isn't that bit of text XD

#

We want to add a "glitch" for the NPC Glitch

ivory plume
#

The game will use the first NPC dialogue key which exists in this order:

AcceptGift_(O)StardropTea
AcceptGift_Loved_<context tag>
AcceptGift_Positive_<context tag>
AcceptGift_<context tag>
AcceptGift_Loved
AcceptGift_Positive
AcceptGift

If none of those exist, it'll fallback to their loved dialogue in Data/NPCGiftTastes.

fathom hound
#

Is there a way to make my dish item glow yellow with spacecore? I might add that in next VCR update

brittle pasture
#

not spacecore, but item extensions have the item light source thing

fathom hound
#

Thanks!

brittle pasture
#

(I used to suggest adding torch_item tag but that does... strange things)

lucid iron
#

but its optimal

#

does it let u put dish on a fence

light bramble
#

Wait

#

What?!

#

Also I'm using the NPC builder...the one that's a google sheets thing...I am HELLA confused on the Data/Shedule tab....

latent mauve
#

I'd love to get feedback so I can improve it, if something is too confusing!

ebon mesa
#

i think i should get the mod maker role i know how to print hello world with python

light bramble
# latent mauve What's confusing you about it?

I guess I just don't know how all the parts work together, even with the little bits of information in the form of the comments on each cell. It just feels like I might make a big mistake (have already because my NPC just spinns...)

#

and I unfortunately need to go do some errands so I won't be at my PC for a bit

lucid iron
#

the best way to learn more about the innards of an npc is to open them up

gaunt heath
#

Like this one

latent mauve
#

Using the wiki alongside it may help, also

gaunt heath
latent mauve
#

[[Modding:Schedule_data]]

hot gale
#

Annoying that when you set an NPC to wander within a square, they don't listen to barriers or anything at all lol

#

Just walks all over trees, through buildings etc

woeful acorn
hot gale
#

Yeah mine walk through anything if the x_y is too big

#

I just have to fine tune where they walk to and how big an area they have to wander there

urban patrol
hot gale
#

I started with a square of 8_8 and they just walk as though there is nothing in their way which is a big bummer but it can be avoided

#

Would be cool if I could set like 15_15 and they just figure it out but alas

lucid iron
#

you can try MEEP instead

hot gale
#

Oh?

lucid iron
#

the farm animal npcs do obey collision more

hot gale
#

I will look into that thanks chu ๐Ÿ˜

#

My NPCs are just there for flavor anyway, they don't need to be complex

#

I just wanted my meadery to feel more alive

#

Then NPCs were such a rabbit hole lmao

#

Requiring gift tastes is an odd requirement to have a schedule lol

#

Thankfully there are free use assets for NPCs on Nexus too lmao

brisk wedge
#

How bad is it to stick my monitor and config a static class as public fields? I'm getting tired of writing an initialize function for every class...

lucid iron
#

i do this all the time kyuuchan_run

#

its not that bad since Mod is usually singleton

light bramble
#

so time in stardew is based on a 24hr time clock....right?

#

Like for scheduels and stuff

latent mauve
#

Correct.

urban patrol
#

technically a 26 hr clock, since it goes to 2am, but yes for example 2pm would be 1400

light bramble
#

I guess when I mention 24hr time clock I meant military time lol I've just always called it 24hr time

hard fern
#

Yeah, those are the same thing

#

So both names are correct

#

๐Ÿค” i guess because saying something like 17:45 is easier to understand than 5:45 pm

#

In the military

latent mauve
#

Your valid frame for scheduling times is after 600 and before 2600. You can also schedule at 0 to try to start somewhere, but that's an odd exception.

#

600 won't throw an error but it also sometimes might just not work

hard fern
#

I hear 0 schedules have problems sometimes, why is that?

latent mauve
#

I think they cause NPCs to spawn duplicates sometimes under certain conditions, but I am not sure of the specifics

light bramble
#

Ok fireredlilly, this is what I have for my first entry for the defaults you have listed in the schedule tab for the npc builder.

#

But he just...spins

hard fern
#

Spins...

#

Perhaps he's stuck?

#

Well, he must be stuck . But like, stuck in the map?

light bramble
#

I've made sure all the possible tiles he could walk on are passible...

#

Unless I've built the bed wrong....

hard fern
#

Well uh

#

I dont quite know how the schedule builder is meant to work

#

But

#

Between times,

#

You don't have anything separating them

light bramble
#

pictures in order of layers.
1 Front
2 Buildings
3 back2

#

Did I maybe build the bed wrong?

#

XD

#

Beds suck

hard fern
#

Hm, no i think it looks... Correct ? I can't tell because the layers aren't isolated

#

Where does your npc spawn?

#

As in where in the bed

light bramble
#
{"X": 3, "Y": 5}```
hard fern
#

Where is 3, 5 supposed to be?

#

Like which tile...

light bramble
hard fern
#

Hmm

light bramble
#

for testing right now, but I want him to be IN the bed in the mornins eventually

hard fern
#

Can you show the schedule in the Jason?

#

*json

light bramble
#

So that's the small issue...I got so annoyed I deleted it all ๐Ÿ˜ญ

hard fern
#

....

light bramble
#

the schedule that is

#

I was annoyed >_<

#

and mad at myself

latent mauve
#

It's possible that the delimiter part of the code is broken in the sheet, I can check

#

You should have a / between each stop in your schedule

hard fern
#

In the spreadsheet screenshot, it did look like it was missing, but i wasn't sure if it was meant to be added later

light bramble
#

Bu is buildings

hard fern
#

Oh ok i wasn't quite sure which tile was on which at first ๐Ÿ˜…

latent mauve
#

Okay, it was working on my copy but the formula on the original must have been altered at some point. It should be fixed now?

light bramble
#

I will get the new version and see >_<

#

testing >_<

latent mauve
#

updated formula in the Entry 1 block is =IF(D5="","Schedules must have 2 stops to be valid.",CONCATENATE("""",B3,""": ",CONCATENATE(TEXTJOIN("/",TRUE,TEXTJOIN(" ",TRUE,CONCATENATE("""",B5),B6,B7,B8,B9,B10,B11),TEXTJOIN(" ",TRUE,C5,C6,C7,C8,C9,C10,C11),TEXTJOIN(" ",TRUE,D5,D6,D7,D8,D9,D10,D11),TEXTJOIN(" ",TRUE,E5,E6,E7,E8,E9,E10,E11),TEXTJOIN(" ",TRUE,F5,F6,F7,F8,F9,F10,F11)),""","))) if you just wanted to copy/paste the new one without making a fresh copy.

#

(the Entry 1 output is how the JSON should be formatted for the schedule entry, so if you copy/paste that in here and say you have issues, they should be pretty easy to check in the future)

light bramble
#

Ok...so now I have to wonder...does the map property "NPCWarp" just not work?

steep quest
#

Can anyone fix this RPG mod for Stardew Valley version 1.6?

uncut viper
#

this isn't the place to ask for mod updates or to ask mod authors to work on specific mods

light bramble
gentle rose
#

(in case anyone is wondering, the mod ideas repo is not the correct place to request mod updates either)

latent mauve
uncut viper
#

if you'd like to try your hand at updating it for 1.6 yourself though, this channel can help if you have questions

light bramble
#

anyways, it works now, but the NPCWarp map property is being funky

latent mauve
#

Is it not recognizing the property if you patch export the map?

light bramble
#

idk if I need it or not XD

#

the x is where the warp is set to be

#

but I gotta go again

latent mauve
#

Alright. When you get back, check that the tile is NPCPassable since it looks like it might be on a Buildings layer and NPCWarp requires the NPC to walk onto it

craggy cape
#

tryna convert a JA mod to CP and im just very confused on how to work the python script.. puffer_fish

#

its the korea blossoms mod

#

maybe the cherry blossom cafe mod too if i can get that to work

light bramble
#

Iโ€™ll look at the wiki when I get home

#

Going to do some shopping

latent mauve
craggy cape
#

ok now python keeps autoclosing lol

#

how do you work the converter, i dont understand one bit

brittle ledge
uncut viper
#

they dont

#

everyones GreenRain schedule is a single entry

brittle ledge
# steep quest Can anyone fix this RPG mod for Stardew Valley version 1.6?

Oh man, I remember this one. It was kind of buggy back in 1.5 too, so I imagine even if anyone picks up the idea, they'll just rewrite it. That said, you might be interested in Vanilla Plus Professions which has talent point skill trees and bonus skills, which might be the same vibe you're looking for?

latent mauve
#

Doesn't necessarily apply if you are using the command for NO_SCHEDULE or GOTO which are not stops

brittle ledge
#

hm they sure do: "GreenRain": "610 Mountain 24 31 2 demetrius_hazmat",

uncut viper
#

greenrain schedules dont use those

steep quest
brittle ledge
#

!vpp here you go!

ocean sailBOT
#

Vanilla Plus Professions is a professions and talents mod by KediDili. It expands on the vanilla professions by adding new profession choices at levels 15 and 20 and adds a new talent tree for each skill where players can earn talent points to purchase perks that improve various gameplay aspects. It has been released on 25th of December.
It can be downloaded from Nexus: https://www.nexusmods.com/stardewvalley/mods/20054

latent mauve
#

I've definitely gotten errors due to not having two stops before

#

But I can revise my comment if needed

brittle ledge
#

it's not a hardcoded exception for greenrain, is it?

steep quest
uncut viper
#

its only hardcoded in the sense that it specifically loads the GreenRain schedule if its green raining year 1

#

but it runs the same schedule parser as any other

latent mauve
#

It's usually not a hardship to have two stops for a custom NPC since the last stop is usually their bed, but I can change the comment if it's not technically accurate

uncut viper
#

i would say it is not technically accurate. it also stops you from doing Replacement schedules if you keep it

latent mauve
#

I don't even cover replacement schedules in the schedule tab, that's how barebones it is

#

I can revise it when I expand those options

brittle ledge
#

hm, I was thinking I'd seen some NPCs with one stop (like 0 schedule ones) but all of the ones I'm seeing are at least two SDVpufferthinkblob

latent mauve
#

A recommended troubleshooting step for broken schedules was making sure it had a second point for a bit in here, which is likely where I picked up that it was necessary

uncut viper
#

i could def see it helping troubleshooting, hard to tell if theyre broken or just staying in place all day on purpose otherwise

brittle ledge
brittle ledge
#

I was mostly curious because I hadn't seen it before.

uncut viper
#

well, again, it'd block those same kinds of greenrain schedules and doing replacement schedules for inaccessible locations, since those are also a single entry

latent mauve
#

I'll make a note to add a separate section for replacement and greenrain schedules and explain that the 2 stops thing doesn't happen there

uncut viper
#

but the point is that greenrain schedules are not unique

#

the two stops thing doesnt happen anywhere

#

they arent parsed any differently from any other schedule

brittle ledge
#

Yeah, you can have multiple stops with a green rain schedule, I think vanilla just doesn't.

latent mauve
#

That text currently only shows up in the Entry 1 box when there is only one stop, so I can pretty easily just omit if that's the problem

uncut viper
#

(the replacement schedules ARE more semi-hardcoded though only in the sense that vanilla only checks 3 locations, but thats kind of a special case anyway since its not treating the entire replacement as a schedule, just replacing one bit inside a different schedule)

#

(but point there being that you wouldnt be able to fool-proof hardcode for them, bc a mod can add more)

latent mauve
#

To be fair, the builder sheet is limited to begin with

#

Because I am not validating GSQs for conditions, just saying that they can use them and linking to the wiki

#

So it's probably fine to remove the extra text if it's confusing and link to replacement schedules on the wiki

uncut viper
#

my onion is just that it shouldnt warn or prevent being able to do something that can actually be done and doesnt cause problems, if its intended to be an objective npc builder
other people may have different onions

latent mauve
#

I'm not trying to be the next Miss Coriel NPC Creator, just filling in a temporary gap

#

But I can remove the text if you feel that strongly about it

uncut viper
#

either that or if someone uses it and then asks in here how they can make their npc just stay in one place on it i can direct them to you /lh
(pls also be taking everything here with a /lh tone tag attached, i dont want to give off the impression i have strong feelings either. just pointing out what the vanilla code does and providing input)

latent mauve
#

(I woke up feeling like I had shards of glass in my throat so I am not in the right headspace to handle criticisms at this time, even if they are lighthearted. I can look at improving it when I am recovered and less sick)

latent mauve
#

Sorry to kill the mood! I removed my earlier comments because they came across as more aggressive than intended. I'll step away for now and see y'all another day.

uncut viper
rigid musk
#

Do I actually have to make a mail entry for a mail flag that I'm just using as a when condition pondering

uncut viper
#

no

rigid musk
#

SCWsunglasses absolutely radical

#

behold, probably the singular most complex event I will ever code in my life (i hate this I dont want to do it again, i dont want to test it, it hurts my brain and three parts of it are duplicated, i am going to explode)

#

To do conversation topics, you'd have to do an edit data entry for every npc with the CT right

rigid oriole
#

dang I just put my whole event in thr i18n

rigid musk
#

I mean that is with i18n tokens...

rigid musk
#

its just a long event

rigid oriole
#

I probably should

rigid musk
#

Do you mean like... you don't have dialogue tokens?

#

er i18n tokens

#

sorry I havent slept yet lmao

rigid oriole
#

My data events patch just points to one i18n token like "eventkey/preconditions": "{{i18n:the whole darn thing}}"

#

I should change it bc it's bad practice and I'm creating tech debt

#

Does i18nifier do events

rigid musk
#

That's... that's horrifying to hear oh my goodness

rigid oriole
#

I've broken lily... this is a sign I should fix my mod

rigid oriole
#

(I actually also have a need for this mod)

#

Bundle repeatable convo topics into it methinks

rigid musk
#

tbh_seen Godspeed soldier that sounds horrifying SDVpuffersalute I didn't even know that it was possible to put your entire event into an i18n token

#

Ah but I want each thing to be unique for each npc to be fair... so it makes sense to have to do each entry

#

even if I will loathe it

rigid oriole
#

Ah I see

#

ok i18nifier does events i am saved

fathom hound
uncut viper
#

you're just linking to an entire wiki page without any context... ?

fathom hound
#

talking to them once per day (normally +20; otherwise +10 if the villager is in the middle of a special animation, like exercising or using a camera)

Sorry thought I replied to first message

#

Supposed to be just +20

fossil osprey
#

According to history the change is still there and not reverted, but indeed the change isn't visible for some reasons

uncut viper
#

it is visible for me

fathom hound
#

Itโ€™s not visible for mobile then?โ€ฆ

uncut viper
fossil osprey
#

Weird SDVpufferthink

fathom hound
#

Very weird..

fossil osprey
#

Maybe mobile, maybe a cache issue?

fathom hound
#

Prob

gentle rose
spice inlet
#

The 1.6 raccoon bundle is missing the page overview screen, so I tried making one myself out of (mostly) vanilla assets SDVpufferowo
Turned out better than I thought

light jasper
#

@rancid musk thanks for the pr, Iโ€™m away this weekend but Iโ€™ll get it checked and merged as soon as I get back

rancid musk
grand edge
#

and im on pc

ivory plume
#

Yep, it's a reader cache issue. If you're logged out, you see the more aggressively cached version (which still has the old text); if you're logged in you see the latest version.

shut mountain
#

"PurchaseRequirements": "b 1" is not working on my boots. I'm trying to make the purchase requirement be reaching the bottom of the mines and the wiki said that b is the alias for that requirement. I tried ReachedMineBottom instead, that didn't work either, and I'm about ready to screech at someone ;-;

brittle pasture
#

is this a JA thing?

shut mountain
#

Yep

brittle pasture
#

we recommend just using CP now

shut mountain
#

Okay but what if I don't wanna do that

brittle pasture
#

then you probably won't get much help unfortunately. pretty much every modder has migrated

ivory plume
#

That value seems correct based on the documentation. If it's not working, you could try asking on the Json Assets page if you don't get an answer here.

shut mountain
#

Okay. Thanks

rigid musk
#

I was wondering why that seemed odd heh I only used JA once or twice before 1.6 came along

shut mountain
rigid musk
#

It's okay! CP isn't really too hard I promise (if you wanted to transfer to that for more support)

#

Even the more complex bits are easy to understand once you get a few examples

shut mountain
#

I'm not even gonna bother. This game hates me and atp I hate it more

tender bloom
#

JA is actually a very thin wrapper around the game format

#

Iโ€™m not familiar with the purchase requirements field

#

But might be an issue with the preconditions feature?

brittle pasture
#

in CP that would just be a Condition field

tender bloom
#

Like JA uses whatโ€™s it called

#

That other mod

#

For extra preconditions

brittle pasture
#

EPU

tender bloom
#

And I havenโ€™t prodded that integration

#

I can say that you can just edit using CP after the fact if it comes down to it

#

JA is doing content edits at this point

cunning kiln
#

Poking my head in with a quick question - where does the game keep track of what shows up in each mine level (for example, iron doesn't really show up until level 40)? I thought it would be in Data, but can't find it.

brittle pasture
#

hardcoded

uncut viper
#

thats all hardcoded

cunning kiln
#

So not editable? Or only editable with something more than CP?

uncut viper
#

anything is editable with C#

cunning kiln
#

I am not yet that brave, but maybe someday๐Ÿ˜… Thank you!

brittle pasture
#

you're free to add your own spawn on top of the vanilla spawns with FTM

cunning kiln
#

I'm looking at what Various Coal Ores is doing. It's interesting that FTM isn't required, but Item Extensions is.

uncut viper
#

IE is for custom new nodes

royal stump
#

FTM only partially supports the mines, but IE can mix nodes into them on its own, yeah

cunning kiln
#

Something to mull over. Thanks again, everyone!

ivory plume
#

(Another perfect number flashes by on SMAPI's Nexus page. SDVpufferpensive)

hot gale
#

Is there a guide on how to do water in Tiled? lol

rigid oriole
#

(sorry for the very very long line)

urban patrol
#

i'm not sure how i18n works, but could you send what that entry is too just to be safe?

#

i18n:Events.Haley-2.Fork.0 this one

rigid oriole
#

"Events.Haley-2.Fork.0": "So anyway, did you need something else from me?"

#

she does her speak command just fine, it's just that the event does not continue

ivory plume
#

Just as a test, can you try adding a pause 500/ before the speak command? I seem to recall some issues related to some commands being first after a fork.

rigid oriole
#

fixes it! thanks SDVpufferheart

deep cypress
gentle rose
ivory plume
#

No idea! We'll need to look into what the issue is at some point, and either fix or document it.

rigid oriole
#

i think events r just finnicky

urban patrol
#

you could test with a pause 1 just to experiment

gentle rose
#

if it's just sequential, now I'm wondering what the best nop command would be haha

#

ig you could always try pause 0

rigid oriole
#

In my experience, you can't move farmer _ _ _/move NPC _ _ _ or people just walk off screen. You have to put em in the same move command

#

i wonder if a pause would let you do it then if you didn't want them to move in sync?

urban patrol
gentle rose
#

tia also mentioned in another server that there's an issue with positionOffset and move being combined (that doesn't exist with positionOffset and advancedMove)

urban patrol
#

i thought you had to do BeginSimultaneousCommand to have people move at the same time

gentle rose
#

can't advancedMove do multiple actors?

rigid oriole
#

/move farmer 0 -3 1 Haley -7 0 is a valid move i believe

#

i thought advancedMove could only do one actor

gentle rose
#

idk tbh, I have literally never done an event KEK

rigid oriole
#

they are kinda fun I won't lie. Coming up with the idea is the hardest part in my experience

gentle rose
#

once 1.6.16 rolls around I will write one

#

because I'm waiting for the gotos

rigid oriole
#

sorry what

gentle rose
#

1.6.16 is bringing gotos to events!

urban patrol
#

i'm curious, what would you use a goto for in an event? forks?

gentle rose
#

forks already exist afaik

rigid oriole
#

goto sounds kinda fun

urban patrol
#

yeah they do, i'm just not sure what i would use a goto for haha

rigid oriole
#

is there a WIP changelist for 1.6.16?

rigid oriole
gentle rose
#

-# I want to make a turing machine using an event

ivory plume
#

(The new goto command can be used for advanced control flow. You can move backwards and forwards to arbitrary points in the event which can be used for all sorts of things like repeating a dialogue, showing multiple variations within an event depending on arbitrary conditions, choose-your-own-adventure flow, etc.)

gentle rose
#

-# which is triggered through a puzzle where you use automate to build logic gates

urban patrol
#

ahhh i see yeah the repeatability does seem super useful!

gentle rose
#

-# pathos is enabling my jahooma's logicbox -type crimes

uncut viper
gentle rose
uncut viper
#

tbf, its not on the events wiki page

#

though, it being a complete nop is actually a problem, because it never increments the event command enumerator

#

so unless you wanna make a custom not-quite-nop then pause probably is the way to go

mortal verge
#

Would anyone happen to know if Portraiture is still broken while dealing with HD portraits of any kind?

tender bloom
#

I thought it worked?

#

Try it and see!

crude plank
#

It does but there's some extra steps that i unfortunately don't remember but i bet there's a comment on the nexus page detailing it

mortal verge
#

I've been trying several of the methods mentioned online, I might've missed something but while most methods simply didn't change anything the last one left Lewis a little thinner than I remembered him.

ivory plume
#

(The new Nexus update seems to have an issue with duplicate comments getting posted.)

uncut viper
#

do they appear after a refresh? nexus has always done that for me when i initially reply to someone, but its gone after a refresh

ivory plume
#

Yep. I've been seeing a lot of duplicate comments from players too; one player posted 17 duplicate comments on one of the mods.

crude plank
uncut viper
#

ah, well,

rigid oriole
crude plank
mortal verge
crude plank
#

And you're sure you put them in the correct folder and the PNGs are named correctly?

uncut viper
#

(this seems more like modded tech support?)

crude plank
#

True you should go there if you can't figure it out

mortal verge
#

Ah my mistake I commented here since it was one of the most recent mentions of the mod when searching here, I'll make my case there, then. Thanks for the advice either way.

true fable
#

how do i re-pack files after editing the sprites?

hard fern
#

SDVpuffersweats i smell xnb modding

true fable
#

sorry i just wanted to make my oc

crude plank
#

@ivory plume i was told that if i link my github on the wiki and i ask you nicely i can get access to the decompile repo, so may i pretty please have access?

gentle rose
#

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

true fable
#

i dont know crap about modding

#

i just changed a few sprites and want them to show up in game

#

i changed some sprite sheets. made sure the dimensions and stuff were the same as the unedited versions

#

i cant code or anything. i can do simple pixel edits and thats it

rigid oriole
#

you only have to write a few lines of JSON to use content patcher, no C# requried

true fable
#

whats a json

#

look, when i say i dont know anything on making mods or coding, i genuinely mean it. I have 0 technical skills whatsoever

gentle rose
#

nobody is born with modding knowledge, you know

crude plank
#

at some point everyone here knew exactly 0, you can learn. It's not rocket science to make a CP pack

hard fern
#

never too late to learn

true fable
#

where do i learn this

hard fern
#

....here?

#

well, there's no one place to learn it

gentle rose
#

I linked you a bunch of tutorials a few messages up

true fable
#

okay so how to i get the sprites i made to appear in game

gentle rose
#

in the governor command

crude plank
true fable
#

i dont even understand that

hard fern
#

have you even read it.

#

you get the sprites in the game by making a simple CP pack

gentle rose
#

it's a list of links to tutorials? there's nothing to understand

true fable
#

im not trying to make a full scale content mod

gentle rose
#

that's fine?

hard fern
#

what you are looking for is right there in the tutorial.

#

you dont have to do anything complex

true fable
#

how do i use content patcher

hard fern
#

...please

#

read the tutorial

crude plank
#

by reading the tutorials and documentantion, understanding it and actually trying

true fable
#

i read it and i still dont get it

hard fern
#

what dont you get

true fable
#

anything

crude plank
#

then read it again until you do, and you are welcome to ask specific questions about the parts you don't understand

true fable
#

like, i genuinely know nothing whatsoever about anything involving technology

hard fern
#

that.. sounds like a bigger problem that we can't fix

crude plank
#

great, now is the time to learn

hard fern
#

do you at the very least know how to use notepad.

hard fern
true fable
#

whats notepad

#

how do i open content patcher

#

how do i make pngs into there .json files

marble nova
#

notepad is an app that should be default to a PC.

sour sleet
#

I find it strange that you know how to use Discord but not Notepad?

marble nova
#

I didn't have to download it

hard fern
#
  1. you dont. you write cp packs that content patcher then .. does magic to
  2. you also dont. you write json that content patcher reads
true fable
#

im on a mac

hard fern
#

ok, well, whatever text editor a mac has

true fable
#

how do i write json

hard fern
#

... it's in the tutorial

marble nova
#

it's a text-only file with the .json extention

crude plank
#

json is just a type of file, it's like a .txt

true fable
#

how do i know what to write and where do i write it

hard fern
#

in the tutorial, again

true fable
#

i am so confused

marble nova
#

I do find the tutorial incredibly lacking

#

I am currently muddling through it

hard fern
#

hm let me see if i can find a different one then

true fable
#

whats a framework

#

it wants me to make a mod?

marble nova
#

Content Patcher is the framework iirc

true fable
#

im so confused im sorry

crude plank
#

literally has an example of how to do a portrait replacer cp

orchid glade
#

The forging documentation is great, BUT extremely intimidating to someone who doesnโ€™t already have an idea of what a JSON is etc

haughty charm
orchid glade
#

GitHub! Not forging

hard fern
#

forging

true fable
#

i have no clue how to even make a json

orchid glade
#

Autocorrect

hard fern
#

how does github = forging.... well, the magic of phone autocorrect i guess

orchid glade
#

Dj, have you ever installed any mods at all?

gaunt heath
#

The wiki page Logo linked covers .JSON editors

true fable
#

i have a few

haughty charm
hard fern
#

have you at least managed to locate the default text editor on your computer

haughty charm
#

This covers a lot of the terminology that you seem to not understand yet

orchid glade
#

Okay, do into the folder of one of your mods, preferably one that changes The look of something,

haughty charm
#

We can't help you make a mod if you don't understand what you're attempting to do

orchid glade
#

And find a file called manifest.json and open it

ivory plume
orchid glade
#

It will open in textedit I think or some other program

#

And thatโ€™s a . JSON and the app you can use to make one (though there are better apps)

true fable
#

i have one called textedit

#

will that work?

orchid glade
#

It will work, for a simple . JSON which is all you need

#

There are other apps that help because they colour the different parts of the code which make it easier, but they can be confusing if youโ€™re very unfamiliar

true fable
#

do i just copy the text in the articles?

brittle ledge
#

(as an alternate, dj, if you're struggling with this, you could also check !commissions and find someone who will code the mod for you! A CP mod wouldn't be too expensive. kyuuchan_nod2 )

true fable
#

i am broke

#

it wont let me even make a json

haughty charm
true fable
#

my brain hurts

#

maybe ill ask my dad hes good at this stuff

orchid glade
#

You can save a text file and rename it so filename.rtf change to filename.json

hard fern
#

ask button

orchid glade
#

But maybe having your dad help is a good idea too

haughty charm
#

You'd have to ask Button, wiz. But it's an amazing tutorial

gaunt heath
#

Why would it NOT be button.gay, wiz???

#

button.gay!

orchid glade
#

Oh I forgot about that tutorial ! I have it open in a tab somewhere but havenโ€™t gone through it yet!

fathom hound
gaunt heath
#

"Crops" in the name will make it more easily searchable on nexus

crude plank
#

wouldt's "Seeds" also make it easily searchable?

#

i mean you could also call it celestial crops

gaunt heath
#

Yeah, but usually when people are asking after more things to grow in modded-farmers, they're asking for "crops"

#

So it stands to reason for me that more people are searching "crops" than "seeds" on nexus looking for things to grow as well

crude plank
#

i see, i see kyuuchan_nod2

gaunt heath
#

But like, don't let nexus search nonsense get between you and a sick name! It's just one factor to consider

fathom hound
ornate locust
#

you CAN search descriptions but it's buried

#

and annoying that it's buried

fathom hound
#

I always put keywords in my title

#

I donโ€™t see why not

ornate locust
#

Lots of people just don't know you can do it

orchid glade
#

As long as itโ€™s not like an Amazon product title like โ€œStar stars starry crops and seeds to grow new fruit, farming expansion, fun pretty farm itemsโ€

brittle ledge
crude plank
#

it is not new

true fable
#

i give up

crude plank
#

it's always been burried

modest dagger
#

that's the spirit!

true fable
#

i cant do this

gaunt heath
#

Making a mod requires a bit of background understanding that you need to be able to tackle independently

brittle pasture
#

if you need help, asking questions are more useful than saying that you can't

true fable
#

i thought i could just change the sprite, i didnt sign on for coding

#

i do art, not code

gaunt heath
#

Once you have the foundational stuff down, you'll be a lot more equipped to handle a project like that, both because you'll have the vocabulary needed and because you'll have experience with computer literacy

true fable
#

hell, ill make art for anyone who wants to do the code stuff for me

tiny zealot
gaunt heath
#

Content Patcher isn't fully independent programming, it's very template-based

true fable
#

ive tried to code. i just cant. its so confusing and overwhelming no matter how hard i try

brittle pasture
#

tbh what did you actually try to do before giving up

crude plank
true fable
urban patrol
#

you could always try releasing your art as open source and seeing if anyone will make a mod that way, but i agree that this mod wouldn't be hard to make once you know the basics!

tiny zealot
#

(arranging text into valid json according to a defined schema is the same skill as coding)

gaunt heath
#

I get the impression you're pretty young. Getting a handle on computer basics will serve you well in the long run.

true fable
#

im not young

#

...

#

kinda insulting

urban patrol
#

if you search for computer literacy classes, you may have local resources such as the public library that pop up. maybe you'd be interested in attending some of those!

gaunt heath
#

A lot of young teens come into chat looking for help getting started with mods, they're like the main demographic needing help with computer literacy skills here

brittle pasture
#

are you interested in learning or not, because you haven't really asked any questions. if you are we can point you to the resources you need
using channel space to complain that things are too hard is not the most productive use of your time

brisk wedge
#

I'm doing while (menu.heldItem.Stack > 0) and a menu.heldItem.ConsumeStack(1); in the while loop, but when I print the menu.heldItem.Stack in the loop, it never changes?

crude plank
vocal iris
haughty charm
#

Let's move on from the age bit, please

rough lintel
#

SDVpufferclueless so that machine data am i right fellas

brittle pasture
#

did someone say machines

vocal iris
modest dagger
#

sometimes i forget you make mods lani despite being orange

rough lintel
#

subtle insult but yes

#

i am releasing one soon

vocal iris
true fable
vocal iris
#

Well that's why I sent you the link

brittle pasture
true fable
#

this is all too much

vocal iris
#

Okay so basically a file extension is the part of the file's name that tells your computer what it is. .json means it's a text file, as in it contains writing.

#

You need to make those visible or else you can't make a .json

true fable
#

do any of ypu understand that im incredibly stressed out from being bombarded by stuff i have 0 knowledge of and being expected to master it all?

vocal iris
haughty charm
#

DJ, at this point, we've given you all the resources for learning how to make mods. We can't help you understand things.

rough lintel
#

maybe this isnt for you dude

true fable
#

i do art, not code

haughty charm
#

I'm going to ask that we move on from this conversation.

sour sleet
#

Nobody expects you to master things. Just at least take the first step to learning.

true fable
#

stop telling me do do coding i cant code okay

rough lintel
#

anyways i was making a wine clone and for anyone making machine stuff, never reference vanilla machine.json ๐Ÿ’€ that thing is awful

true fable
#

stop shaming me for having 0 technoical knowledge

haughty charm
#

Then this channel is not the right fit.

vocal iris
#

In the Finder on your Mac, choose Finder > Settings, then click Advanced.

Select โ€œShow all filename extensions.โ€

#

There. That's all you need to do. Let me know when that step is done.

haughty charm
#

DJ enough - this conversation is done

odd ginkgo
#

hey all! Making some progress on my little desert canyon mod (sorry to interrupt)

true fable
#

i just wanted to change a few sprites i didnt expect to have to code okay can i not be frustrated and shamed because of it?

modest dagger
tiny zealot
rough lintel
#

editing a keg machine rule made me want to screech

modest dagger
#

I accidentally overrid the machine so only my recipes worked heh

brittle pasture
rough lintel
#

making a flavored beverage is evil, i think

sour sleet
#

The flamingo is so nice!

odd ginkgo
#

I was wondering, if you were to get a new desert animal for the barn, would you like: a mig desert tortoise, a roadrunner, a coyote, or one of these here flamingo?

brittle pasture
#

you don't need like 80% of the machine fields most of the time

odd ginkgo
#

thank you!

modest dagger
#

selph has specifically made mods for me to make more machines isn't that awesome

#

I need to try implementing machine furniture soon I want to get my chemistry table in game

rough lintel
#

selphs machine mod goated

modest dagger
#

my mods literally wouldn't function without EMC

modest dagger
rough lintel
#

i didnโ€™t realize we couldnโ€™t have multiple required inputs in vanilla. like. bruh

brisk wedge
odd ginkgo
#

you caught me, I can't think of what the animal should produce to be fun and useful, so I was trying animal-first

brisk wedge
#

ty tho

modest dagger
urban patrol
#

do tortoises lay eggs? SDVpufferthink

modest dagger
#

yes?

urban patrol
#

they could be a coop animal then

modest dagger
#

before they get too large to fit through the door

brittle pasture
#

the problem with coop animals is that you only get 16x16 to work with

odd ginkgo
#

would it be weird to... eat tortoise eggs?

urban patrol
#

not sure how well tortoise mayonnaise would sell though lmao

modest dagger
#

i mean ostriches are barn animals

brittle pasture
#

and flamingos are quite big yeah

modest dagger
#

are they??

brittle pasture
#

well, tall, not big

rough lintel
#

flamingos are like super tall

modest dagger
rough lintel
#

like ostrich height

odd ginkgo
#

maybe both flamingos and tortoises.... their eggs could be hatched in the ostrich incubator, and they could both get big

crude plank
rough lintel
#

theyโ€™re tall fuckers man. i be at the zoo

#

they tol

vocal iris
#

@true fable
How to make a proper .json file on Mac:
[1] Open TextEdit (Macโ€™s built-in editor)
[2] Switch to Plain Text Mode:

  • Go to Format in the menu bar.
  • Select Make Plain Text (or press Shift + Command + T).
    [3] Save the file correctly:
  • Click File > Save As.
  • Name it content.json
crude plank
#

i need to go to a zoo

woeful acorn
#

coyote could dig up stuff similarly to pigs? idk what but that could be an interesting option

urban patrol
#

ooh good idea

odd ginkgo
#

google sonoran desert tortoise to see how big they get too, they're massive

rough lintel
#

donโ€™t bring this back up

#

mods already said no

tiny zealot
#

big problem with farm flamingos is they would be eating grass and hay, which are not the plankton which famously produce the pink coloration

vocal iris
#

I felt like fighting a hopeless cause tbh

golden oxide
#

Hello!
I wanted to ask how can I know what each dialogue from the StringsFromCSFiles is for (is there a list somewhere?) and how can I know what key to use to override it to make a new dialogue for each character since it just says something like "NPC.cs....." do I just put that as a key?

modest dagger
#

roadrunners according to wikipedia are omnivores and eat bugs and small animals. But also forage for fruit so maybe it could occasionally find cactus fruit?

crude plank
tiny zealot
#

but i guess you could just use the ol' stardew handwavium about it. after all, there's a wizard living in the forest

odd ginkgo
#

I grew up in the desert and it's been fun thinking about my local fauna and adding it to the game

rough lintel
modest dagger
#

flamingos are local to deserts?

odd ginkgo
#

.... now I have a dream of being able to have a flamingo wading in a fish pond

rough lintel
#

flamingos are local to suburban lawns /j

odd ginkgo
#

not really, except that they appear in the desert in stardew

#

there's one at the desert festival

#

the other animals do though!

rough lintel
#

when will we get a guinea fowl mod ๐Ÿ˜”

#

its always exotic animals, never the handy (but extremely stupid) guinea ๐Ÿ˜”

brittle pasture
#

VMV adds them

rough lintel
#

but i dont wanna dl an entire expansion for a single animal lmao

#

also i did not know that

odd ginkgo
#

it's kind of a whole quest, you collect items late at night in a desert canyon maze

#

unlock creosote bushes and stuff

tiny zealot
rough lintel
odd ginkgo
#

and then later can revisit the area and unlock the flamingo shop

#

and a back area with a "prize," which I was thinking would be the egg for the new animal

rough lintel
#

that took so long though bc it was back when sve was Integrated and not seperated

brittle pasture
rough lintel
#

animals are always tricky to innovate on because the animal produce meta is like. not a thing

brittle pasture
#

(like if I'm to make a "realistic outdoor food" module for EAC it would be so darn specific and niche it may as well just be its own non-framework mod)

rough lintel
#

and most of it has minimal use โ€ฆ we must change the meta

#

can we put eggs in the slingshot ๐Ÿ˜ค

odd ginkgo
#

I'd like to have some kind of produce that gets put in the fish smoker

#

hmm

rough lintel
brittle pasture
#

I do use mods that add more uses for eggs and milk, making them more useful

odd ginkgo
#

ohh I'll have to check it out ty

rough lintel
#

smoked egg, smoked meat, smoked salmonโ€ฆ smokedโ€ฆ something

#

i think its the artisan machine addon

brittle pasture
#

mainly cornucopia and wag lol, one of which you already mentioned

#

for WAG you need milk and egg to do the insane amount of baking it adds

rough lintel
#

oh yeah yeah

#

the fact rainbow shells get a use in wag is crazy.

#

YES i shall be making spronkles

modest dagger
#

...

#

you're making sprinkles out of rainbow shells?

rough lintel
#

thats wag for ya buddy

#

grind em up, rainbow sprinkles!

#

yummy time

cedar turtle
#

I just read sprinklers and was like "since when does wag change those recipes"

brisk wedge
#

which is worse, using harmony annotations, or using the harmony api but the list of patches is generated through reflection and looping through all the methods?

brittle pasture
#

I came close to doing the latter tbh

rough lintel
#

the looping thing sounds worse but i am not proficient

brittle pasture
#

the former is apparently fine, baring minute differences in optimization I'm too stupid to understand

uncut viper
#

are you only looping through methods you want to patch, or all methods and picking and choosing from there?

brisk wedge
#

i loop through my classes, and use a naming and argument convention that tells which class + method + prefix/postfix to patch

gaunt heath
uncut viper
#

to me that sounds like the annotations with extra steps

#

someone else answered that question adequately enough

#

oh it wasz you

gaunt heath
#

"why would it not be?" SDVpuffersquee

uncut viper
#

you already answered it

odd ginkgo
#

P.S. huge ty to Button for teaching me about "Update": "OnLocationChange"

#

you completely changed the way I was approaching my mod

lucid iron
#

Don't abuse update rates monS

rough lintel
lucid iron
#

Say how do ppl annotation patch another mod

#

I was thinking about this bc i thought i had to do horrible reflection to acquire the other mod's methodinfo without explicit reference

brittle pasture
#

i dont think you do, unless there are arcane notations to do that im not aware of

uncut viper
lucid iron
#

Which is fine with manual patching

uncut viper
#

you can harmony patch anythging with annotations

#

the typename can be a string, which i imagine expects a fully qualified type name. if not, accesstools can find a type anywhere when given just the type name

#

just [HarmonyPatch(AccessTools.TypeByName("OtherModType"), "methodname")]

lucid iron
#

Oh i see that is the missing bit

uncut viper
#

of course, if you have a hard reference you can just do it normally

teal bridge
lucid iron
#

I went through mod registry to assembly blobcatgooglyblep

brisk wedge
#

thanks, guess its time to switch to annotations. I was worried cuz the wiki seems to imply that annotations do extra stuff, but my weird reflection stuff seems just as bad

uncut viper
#

is that not what a fully qualified name is?

lucid iron
#

Here is the terrible LA patch

teal bridge
#

Could be, that term is vague. "Assembly-qualified name" is what we normally call that in .NET.

uncut viper
#

ah, that is probably what i meant

#

i think the microsoft docs call them fully qualified names

lucid iron
teal bridge
uncut viper
#

i think cat meant for finding their actual patch classes, not the methods they want to patch?

lucid iron
#

There's also implications for android modding (but dw about that tbh)

#

Yeah it sounds like cat is essentially doing harmony annotations

uncut viper
#

ive used AssemblyQualifiedName before, just subconsciously defaulting to fully qualified name when talking about em

lucid iron
#

I just wanted to clarify what wiki meant regarding manual/annotations

#

So if i am use typebyname this big if can be cleaner ygghappy

#

As long as the other assembly isn't renamed or something

teal bridge
#

Thing is, assembly qualified name has a version attached.

lucid iron
#

Do u need that

uncut viper
#

well youve already got the assembly from the modregistry, you could just still use it

teal bridge
#

That's why I normally like to use Assembly.GetType.

uncut viper
#

you dont technically need it, but. it helps disambiguate

#

if you specify it and its wrong it wont find it

lucid iron
#

Right

#

I do use it to put the exactly correct name into trinket data

teal bridge
#

Hm, I guess maybe you can leave the version out, it's a comma-separated list and I've never tried.

uncut viper
#

but yeah, you've got the assembly already, no need to throw the baby out with the bath water and all that

lucid iron
#

What is the baby and bathwater in this analogy bolbphase

uncut viper
#

you can either keep using it or just save the assembly somewhere to reuse

lucid iron
#

Is this a thing people say...

teal bridge
#

Do you have a direct reference to the assembly, or is this 100% reflection? The most reliable way if you have a ref is to use typeof(SomePublicTypeInAssembly).Assembly.GetType("NonPublicTypeName")

uncut viper
#

dont need to throw out all your reflection into the modregistry just to maybe very slightly optimize a patch

#

i.e. if you can avoid TypeByName with just the type name alone, you should probably avoid it

#

cuz otherwise its just searching every assembly til it find a match

lucid iron
#

Ah i see LilyDerp

teal bridge
#

Yeah - Type.GetType (type by name) is also very slow for reasons I don't understand.

uncut viper
#

which may not even be the right match

lucid iron
#

Yeah i mean i wasn't going to change to annotations

#

But good to know things

uncut viper
#

just grab the other mod's assembly via the CMCT api /j

#

(which... i swear is still in the back of my mind to work on.)

lucid iron
#

U mean just use BETAS harmony to patch instead

uncut viper
#

if you can thatd be even better

teal bridge
#

Well actually, possibly the most reliable way to get an unknown assembly in a Stardew environment would be to get its mod instance from the mod registry (or an API if it provides one), and then do .GetType().Assembly.

#

That way you're covered even if they change the assembly name.

lucid iron
uncut viper
#

thats effectively what chu is doing

lucid iron
#

Assuming im understanding u correctly

teal bridge
#

Yeah, pretty much.

uncut viper
#

itd be even easier if you used a publicizer SDVpuffersmile

lucid iron
#

The other reason why this patch is slightly horrible is cus i have to acquire a different LA method info to invoke but to get that one i needed to get this enum class for disambiguation

#

Is there's better way to do that

teal bridge
#

(I still think you should just wait for the LA support, but hey, you do you)

lucid iron
#

It's for learning purposes Dokkan

uncut viper
#

do harmony parameter lists need the exact type to work, or does it work with parent types too?

lucid iron
#

Well i tried int and that didn't work

#

Is there some kinda IEnum

teal bridge
#

Parameter lists have to be exact, if you mean what I think you mean.

uncut viper
#

i.e. cant match a GameLocation if it actually uses a LibraryHouse

teal bridge
#

You can reflect on a derived type to get a method that's declared on the base type, but if you specify the parameters, you need an exact signature, there's no covariance/contravariance in reflection.

#

(and there may not be any covariance/contravariance even on the actual types/methods - there usually isn't)

uncut viper
#

i suppose you could just iterate over all the methods in the class until you find one where its 2nd parameter has IsEnum set to true

#

potentially better than doing the previous other reflection to save the type, maybe, though i dont know for sure

#

i imagine it'd depend

lucid iron
#

Mystery

uncut viper
#

im not sure how DeclaredMethod works anyway, it might already be iterating

teal bridge
#

Or you could be a little less nuts and iterate over the methods matching the name and then check the params, so you only need to check two or three methods as opposed to every one in the class...

lucid iron
#

One day I'll toss this whole thing out so im not that concerned

uncut viper
lucid iron
#

I only actually needed to check for first param is Item in this case

uncut viper
#

the point was that you can check whether something is simply an Enum if you're manually iterating over everything

teal bridge
#

It's the same sort of check though, you're matching on a partial signature.

lucid iron
#

Yeah

teal bridge
#

So doesn't matter whether it's something general like "is enum" or "is Item specifically", solution will be the same.

uncut viper
#

so do all your other checks and then just check that the second is an enum and not have to check specifically Objectcontext

#

this of course breaks if there are two overloads that use two different enums but you only want one

#

but you know LA's source so hopefully you'd be aware of that

sour sleet
#

Anyone know how to make a garbage can act like a vanilla one?

uncut viper
#

theres a Data/GarbageCans asset isnt there

gaunt heath
#

That's a new 1.6 feature, there's a wiki page section hold on

gaunt heath
uncut viper
#

featuring fun properties like "IsMegaSuccess" and "IsDoubleMegaSuccess"

sour sleet
#

Thank youuu

gaunt heath
#

The entire garbage can feature is hilarious

lucid iron
#

Wait what's double mega

uncut viper
#

when it goes rocket mode

lucid iron
#

Mega is when the lid goes escape velocity right

#

Or is tht double mega

uncut viper
#

i would hope its double mega

brittle pasture
#

I think mega is funi noise

uncut viper
#

dont know where you go from there

brittle pasture
#

double mega is funi noise + stratosphere + you get the garbage can lid

#

(well the last one is a defined reward from double mega, not part of it, I think)

uncut viper
#
/// <summary>Whether to treat this item as a 'mega success' if it's selected, which plays a special <c>crit</c> sound and bigger animation.</summary>
/// <summary>Whether to treat this item as an 'double mega success' if it's selected, which plays an explosion sound and dramatic animation.</summary>
lucid iron
#

Ah i didn't really pay attention to just sound

uncut viper
#

ttop is mega, bottom is double

lucid iron
#

Beautiful feature truly

brittle pasture
#

hmm should I add the ||golden manure|| from manure mod to double mega success

hard fern
#

lid hat scared the crap out of me when i first got it ngl

lucid iron
#

Hmmm

uncut viper
#

(garbage can lid is just a random chance still, but it is a double mega reward. but a double mega does not guarantee the lid)

lucid iron
#

New mod area land fill

#

Just a ton of garbage cans to check

uncut viper
#

lt surge mod

brittle pasture
#

mega success reward is old hard drive filled with bitcoin

#

sells for 50g because you don't have the password

uncut viper
#

just get sebastian to hack into it, ezpz probably

tender herald
#

is there any kind of advantage when you use a single big editdata instead of many small ones? like imagine you have 200 objects, would a single edit to data/objects with 200 objects in it be better than 200 edits for each object?

uncut viper
#

yeah probably. lot of overhead in managing an individual patch

#

"lot" being relative obv

tiny zealot
#

i haven't profiled it or heard from someone who would actually know (pathos or sinz), but i expect it's better for performance to have as few distinct patches as possible (so, one big editdata better than lots of small ones), for similar reasons as combining your sprites onto one sheet: each patch pays a fixed cost in addition to the cost of patching the data, so more patches equals more total cost

hard fern
#

i guess if you dont have to patch things separately (usually for config stuff i see it being done separate) then better to not

tender herald
#

yeah that makes a lot of sense, thank you!

odd ginkgo
#

as always, thanks for all your help everyone!

hard fern
#

tortoiuse

#

?

odd ginkgo
#

tortoise!

fathom hound
#

cutie

deep cypress
lucid iron
#

I hereby license this idea CC BY-NA for someone who isn't me to make Sleepden

deep cypress
#

Me, reading the above about scattwred patches, now staring in WAY too many individual patches cause i read that easier:
SDVpufferdizzy

astral oyster
#

I've heard it said enough times already, in the small time I've been lingering and asking questions within here. "Anything is possible with C#", so in theory would it be possible to Erase someone save data from a choice made through an event? Or does that go outside of it's reach?

uncut viper
#

you literally have access to their entire computer when you're making a C# mod if you want it

#

i would never download anything that ever comes close to doing something permanent to my save file like that and personally i would steer anyone who asked away from them

astral oyster
#

That is spooky, I didn't realize it could go that far. I was curious, wouldn't want a reason for people to avoid something; that would be counter productive

uncut viper
#

nexus has some sort of virus scanner ofc, but theres a lot of harm that someone can do without being classified as a full on virus. if you are unable to look inside a dll yourself becaise you dont know how or dont understand it, you inherently have to just trust that it does what it says on the tin

tiny zealot
#

erasing save data is the kind of action that can get you blocklisted, and SMAPI will refuse to load your mod

#

i don't know if anything is on the blocklist yet, but it is a thing SMAPI has

uncut viper
#

i wouldnt touch it with a 10 ft pole even if the mod was literally named "Delete your save data if you say no during this event!" because hell if i know how competently its coded, what if it accidentally erases it under other circumstances?

brittle pasture
uncut viper
#

does it delete it? i thought it simply closed the game?

brittle pasture
uncut viper
#

oh, apparently it does. and lol, case in point:

brittle pasture
#

not sure if any action was taken by smapi

stable otter
#

Sorry to intrude, but I've got a silly question: I caught a wild hare about wanting to try making a mod and have absolutely 0 experience with coding. I'm trying to follow the Getting Started guide from the wiki, but when I grabbed Visual Studio I wasn't able to select NET 6.0 for the framework like it says to-- The closest lookign option was NET 8.0. Is that an issue, or is that just what is current?

brittle pasture
#

probably just flew under pathos' radar tbh

uncut viper
#

if the mod literally says it will do exactly that, i dont know if thats grounds for blacklisting, but its personal grounds for me to avoid and warn against it

#

but, maybe

#

i wouldnt protest if it was blacklisted

lucid iron
#

Where's that mod that deleted your save if u die too many times

uncut viper
#

but it is honest

vernal crest
tiny zealot
#

26 UDLs lends credence to "flew under pathos's radar"

uncut viper
#

i remember it causing a minor stir in modded-farmers on release

#

i.e. "does this count as malware?" debate

stable otter
#

does it need to be opened and ran or something?

lucid iron
#

You need to change target framework

uncut viper
crude plank
brittle pasture
#

wasnt pathos also deep in the 1.6.9 mines at that time

uncut viper
#

you can set the target in the csproj too

stable otter
lucid iron
#

Just so u know there's lots of mods you can make without C#

astral oyster
#

Seems my question opened up a can of worms; well at least I've learned what should never be done or considered.

lucid iron
#

What do u want to do?

uncut viper
wicked plover
#

dotnet --list-sdks

#

lists all .NET versions installed on the system in detail.

sour sleet
#

why is my garbage can giving a field snack when I haven't specified that in the data?

#

Field snack ID is 403 and that's nowhere in my json

crude plank
#

I don't actually know so i might be talking out of my ass here but it looks to me like there's a default list of drops and you are just adding to it

uncut viper
#

its a default

sour sleet
#

Ah so it's hardcoded?

uncut viper
#

BeforeAll and AfterAll in Data/GarbageCans adds some default values

#

i dont know if theres a way to change it per garbage can

brittle pasture
#

it's technically not hardcoded
what's hardcoded is that the game will check BeforeAll before your entry, and will check AfterAll afterwards

uncut viper
#

if your garbage can is the only one in a map though you can do an OnLocationChanged edit

sour sleet
#

Ah alright, thanks all!

brittle pasture
#

I guess you can add an always 100% entry to your bin. that would make the bin always give something upon checking it

#

and not fallback to AfterAll

#

there's still BeforeAll, but at least in vanilla it's only used for one thing

uncut viper
#

3 things

#

hat, trash catalogue, qi bean

brittle pasture
#

whoops i didn't scroll up in the vim window

sour sleet
#

Hmm ok. I love that I learn so much abt this game each day

marble nova
#

do yall know if there is a way to make a Male character dance on the girls' side during the flower dance? I have sprites for him, but I don't actually see anywhere to specify that, only whether he dances at all.

uncut viper
#

temporary gender swap and spritesheet swap

marble nova
#

Oh interesting, so have him coded as a girl but only during the flower dance?

uncut viper
#

pretty much

marble nova
#

Do you know if there's a tutorial for that somewhere?

uncut viper
#

its just a conditional edit on their Data/Characters

marble nova
#

I don't know how to do those yet ๐Ÿ˜ฆ

uncut viper
#

in this section, under "Conditions"

urban patrol
#

is it required for your mod's unique id to match yourfullusername.yourfullmodname, or can it be shortened, for example YFU.YFMN?

uncut viper
#

its not guaranteed to be unique if you do not hav e your username and your mod name

urban patrol
#

makes sense

lucid iron
#

if you use your actual user name it'll be easier to search you up on nexus if i see your mod causing problems Dokkan