#making-mods-general

1 messages ยท Page 2 of 1

lucid iron
#

its prob cus u spelled "Dialogue" wrong actually

tiny latch
#

are you shitting me

#

oh my god

#

i am not kidding when i say i have spent DAYS trying to figure out whats wrong

#

thank you so much ๐Ÿ˜ญ

naive wyvern
#

sometimes all you need is a pair of fresh eyes ๐Ÿ˜ญ

tiny latch
#

curse dyslexia ๐Ÿ˜ญ

calm nebula
#

Cory, get yourself VSCode and the spellchecker

#

That is like

#

It saves you from silly mistakss

tiny latch
#

thank you. currently downloading it right now qwq

lucid iron
#

is there a word for playing animation backwards to form a loop

#

e.g. instead of frames 1 2 3 4 1 2 3 4 ... you do 1 2 3 4 3 2 1 2 3 4 ...

ornate trellis
#

shedule animations, map animations...? idk tbh, i just do 123432 and then itll loop right

naive wyvern
#

boomerang?

brittle pasture
#

no idea but palindrome is a word

lucid iron
finite ginkgo
#

Not sure there's a specific word for it but temporaryAnimatedSprites refer to that behaviour as pingPong

velvet narwhal
#

OH that's what pingpong is used for

ornate trellis
#

pingpong...

#

well, make sense SBVLmaoDog

naive wyvern
#

pingpong is so cute

lucid iron
#

wow it's perfect

#

but why doesnt AnimatedSprites have this Ree

next plaza
#

You could duplicate the frames in reverse order from currentAnimation

#

TAS probably has it because it doesn't have a frame list to follow, just math

uncut viper
#

(ping pong is what ive heard it called almost everywhere else usually. if you're CSS you call it "alternate" though... which like, i guess. i know alternate is a verb and it does make sense, but i always read it as a noun first SDVpufferflat)

lucid iron
#

its ok i will just make an extension

#

i do wonder if i should just not use AnimatedSprite at all, cus it's not like i am follow the up/down/left/right format

#

is there more convenient way to spawn a monster for testing, besides the debug command

sharp field
#

Is there a way to see a data file after a patch has edited it (to verify it is making the changes you expect it to make)?

velvet narwhal
#

patch summary uniqueid

finite ginkgo
#

Also patch export <asset>

mighty quest
#

monster spawner something

#

very useful

lucid iron
#

ty

pine ermine
#

Or you could write a unit test for it ๐Ÿ™ƒ

lucid iron
#

i could AnnelieStare

royal stump
naive wyvern
#

linkoid wail

pine ermine
#

Question: Is there any demand for making events work with multiple players?

pine ermine
#

XD

lucid iron
#

but thats just a festival think

naive wyvern
#

i want to share
an idea I had a while back

pine ermine
#

Oh?

#

please share

naive wyvern
#

so I want to make a theatre, with specific show times (every 2 weeks once its fixed via bundles)

And then, I want it to start a specific time, it would be like the mermaid show? but it would have character dialogue

i was suggested to make it a cutscene and such but like, i was wondering if there were different ways to achieve that

#

so itd essentially be like a base game movie, but its one of those soft events

#

where it doesnt lock you out like a festival

uncut viper
#

i was also thinking "that sounds like a festival." id possibly feel that most normal events were too short to worry about waiting for another player to come and join in on. but if it was somehow integrated real nicely with existing events somehow or came with a set of events made for it that worked with multiples, i could see it being very fun to add, though i dont know what id look for in a multiplayer event
so personally my answer to that is "theres no demand from me. but, that doesnt mean i wouldnt be super excited about it if you made it"

next plaza
#

Surfign Festival supports multiple people. That was... an adventure

uncut viper
#

im always excited when multiplayer focused mods come out cause i only play with my partner anyway but we're also just very picky when it comes to what bugs or idiosyncrasies we're willing to put up with if it has any SDVpuffersquee

pine ermine
#

I've already solved a handful of the problems related to getting it working, but I don't want to share the entire mod.

#

e.g. the events included with it are private

uncut viper
#

would it be a framework thing for people to make their own, or just events that you made?

pine ermine
#

The game wasn't designed to work like that so there's a handfull of bugs that needed fixed with harmony patches.

#

It would basically just be those patches

brittle pasture
#

spent a couple hours today whipping up this tiny mod (1.6 spoiler)
and just when I decided to take a break and play

uncut viper
#

big "asking your pet what they have in their mouth, spit it out, SPIT IT OUT" energy

brittle pasture
#

I admit I made this after accidentally feeding the wrong fish pond

uncut viper
#

(also what do you mean, i thought starting a new mod was taking a break...)

brittle pasture
#

(and also because I don't want to lose the ||cracker|| when I send the animal to the shadow realm for its meat with Animal Husbandry)

#

convenient, if a little imbalanced

pine ermine
lucid iron
#

maybe if the extractor is 1 use and costs money

naive wyvern
brittle pasture
#

I did gate it behind Qi shop

#

and make it cost 1 prismatic shard per use

naive wyvern
#

plus I have to do a bunch of other things first and Im procrastinating iudghuig

brittle pasture
#

maybe that's enough SDVpufferclueless

lucid iron
#

yea prob ukimasu2

#

i dont raise much animals so i got like

#

10 of those spare lol

uncut viper
#

that sounds perfectly balanced to me! <---- uses skull cavern elevator mod and has more prismatic shards than she knows what to do with

velvet narwhal
marble verge
#

"It's not my fault that those chests on Level 200 and 300 keep respawning!"

uncut viper
velvet narwhal
#

i'mma bother you at least a lil bit because i stared at modentry and no amount of "it's how you get the game to recognize your mod" helped my brain remove the squiggly green line

uncut viper
#

making the rock paper scissors mod was enough multiplayer specific work for me already thank u very much

lucid iron
#

well im glad to report that ive ironed out all the trinket multiplayer stuff DokkanStare

uncut viper
#

sometimes squiggly green lines are unimportant

lucid iron
#

mostly by passing less net fields and doing more stuff locally

pine ermine
uncut viper
#

half the time i have a squiggly green line its bc my IDE thinks "hey this isnt the naming convention/style you should use" and im too lazy to get rid of that warning

#

or telling me to use var instead of specifying the type

velvet narwhal
#

the green squiggly was yelling at me about nulls and i was like, y'know that's enough c# for today

lucid iron
#

wait why does it do that

uncut viper
#

ask JetBrains

lucid iron
#

i like putting the real type personally

#

var looks too javascript like and gives me fear

uncut viper
#

tbf you should probably be using let anyway

velvet narwhal
#

i'm gonna make it my graduation project to do that stupid c++/CLI integration i swear

calm nebula
#

Or jetbrains

uncut viper
#

see: im too lazy to get rid of that warning

calm nebula
uncut viper
#

i dont like putting those little comments above code to silence warnings either i think theyre ugly

calm nebula
#

Because i think we did

calm nebula
brittle pasture
#

see this is why I use vim, no stupid lint nagging. no anything really but that's a small price to pay

calm nebula
#

I like .editorconfig

uncut viper
#

"Using implicitly typed local variables (also known as var keyword) introduced in C# 3.0 has become quite popular as it improves readability in many scenarios. By default, JetBrains Rider also encourages using of var keyword, but preferences of its usage are flexibly configurable โ€” for example, you can opt for using explicit types in specific cases or everywhere and JetBrains Rider will help you enforce your preferences."

this is apparently why Rider tells me to use var

uncut viper
#

"improves readability" how

brittle pasture
calm nebula
#

Tbh I've been looking for a good autoformatter for latex

#

Still haven't found one

rancid temple
#

I guess it could improve readability by making less words to read? Sounds dumb lmao

uncut viper
#

i love not knowing at an immediate glance what type a variable is, very readable, very nice

pine ermine
rancid temple
#

Yeah, seems wild, VS does the opposite and green squiggles to tell me to use implicit types sometimes

pine ermine
#

I think that's the idea

#

But then in a later version of C# they added this which is better than using var imo.

Dictionary<string, List<Items>> dict = new();
calm nebula
rancid temple
#

I was really confused about the discussion of nullables last time I brought it up, since it turns out I already had it on but never set it up, I think it's just on by default somewhere but I have no idea where

#

All my new projects have it despite never doing anything to make that happen as far as I recall

pine ermine
#

Visual Studio includes it by default when you use a newer target framework

velvet narwhal
#

me, completely lost SDVpufferclueless

brittle pasture
#

imo var is still useful in for loops, where we all know what the type an element is already

lucid iron
velvet narwhal
#

i'll try and find the nullable article when i'm not running off of 3 hours of sleep and caffeine

lucid iron
#

hm i wouldn't be able to access another mod's i18n if i am make just cp content pack right think

calm nebula
#

No

uncut viper
#

correct

lucid iron
#

whereas actual content pack would let you do so

#

ill just make a translations asset ig

rancid temple
#

For future consideration, it even has a link to the MS site, though I can't guarantee that will actually help

#

MS docs can be very hit or miss when it comes to helpfulness lol

velvet narwhal
#

i open the ms website nd i fall asleep, i have responsibilities to do for the next 2h

#

i tried to watch those videos of the uh, one dude going over args and i fell asleep at my desk

pine ermine
#

switch ms docs to light mode, that'll keep you up SDVpuffersquee

rancid temple
#

But my retinas D:

velvet narwhal
lucid iron
#

that or i make natural language generator kyuuchan_run

uncut viper
rancid temple
#

@naive wyvern what's better, config settings for the crane games in general or reading from the tile property to decide what each game's play time, credits, and hidden prize chance is?

lucid iron
#

im trying to describe what abilities on a trinket do

rancid temple
#

Could also do both and just let the tile property take precedence

naive wyvern
lucid iron
#

long ago i did actually make something that parsed a game's data and made english descriptions for it

#

but that aint very translateable

uncut viper
#

wait why would you need to access another mods i18n then

rancid temple
#

I think the need is to access a content packs i18n?

lucid iron
#

ya

#

rn i am offer 1 custom asset to put data about a trinket in

#

and expecting ppl to use CP to interact with this framework

rancid temple
#

Though I guess, there's a limited amount of stuff the trinkets can do

uncut viper
#

why not just add a field for ability description to that custom asset then instead of a different asset for translations?

lucid iron
#

yea thats prob better think

velvet narwhal
#

SDVpufferpain i realize i have to somehow compute .json to a beatmap

lucid iron
#

well it's just usual load json into C# class business Bolb

uncut viper
#

you can just load any arbitrary file type cant you, not just jsons

lucid iron
#

yea that too

#

just write ur own parser in that case

velvet narwhal
rancid temple
#

That sounds worse, but it's not something I've tried lmao (own parser)

pine ermine
#

xml is natively supported in C#

uncut viper
#

theres probably a lot of .midi parsers out there

rancid temple
#

Just make the beatmap the way event scripting is

next plaza
rancid temple
#

Each / delimited section is a description of notes and a beat, same hell as normal event scripting where there's no way to know if you're doing it right without testing the entire beatmap

pine ermine
uncut viper
#

.abc parsing is also an option

velvet narwhal
#

i think midis are the most readily available (and i understand them as well)

#

the problem will be, uh, translating the "targets"

uncut viper
#

there are a lot of .abc files out there too bc of games like LOTR Online and Starbound (and others im sure) that let you load them in to play music for others
i agree there are probably more midis
idk which one is easier to parse and use for a mod tho

pine ermine
#

Midis probably have better rhythm and tempo information which is what your really after.

velvet narwhal
#

yeah reading the tempo and time signature is most important considering it's easier for me to create beats based on the time signature

pine ermine
#

I would just spawn a target every time a note is played

velvet narwhal
#

yeah i'm thinking of a (if it's possible) triple layered target for "accuracy"

#

i don't know if that's the correct way to go about it, but that's the first thought

pine ermine
#

triple layered target?

velvet narwhal
#

uh, basically largest rect determines whether it was a miss or a hit, middling rect determines how well "timed", and the dead center being a "perfect"

pine ermine
#

ah

velvet narwhal
#

i don't know if i can do a "donut" kind of rect but y'know

#

if i have to stare at the draw(spritebatch) i might as well go nuts

uncut viper
#

(.abc's do actually include tempo and time signature info too. i have no horse in this race though ive got plenty of both kinds of files to put your mod through the wringer test with your mod either way SDVpufferthumbsup)

velvet narwhal
#

(the plan is to buy my own midi mini piano for my birthday so there's gonna be a maximum of 5 custom tracks from me on it anyway)

rancid temple
#

It drives me insane that maximized windowed mode SDV doesn't fill the whole area

teal bridge
#

Just run borderless?

uncut viper
#

i used to use a mod to fix that, dont know if its 1.6

paper sundial
#

Anyone know a character which isn't used by letters / parsed dialogue but which does appear on a standard us keyboard? Already using bar, but most special chars are used afaik nvm, am dumb, game already does what I want to achieve

rancid temple
#

Does it have an actually functional borderless somewhere? The way it does fullscreen windowed is also ridiculous

teal bridge
#

I guess I just assumed it was borderless, since it's maximized and doesn't black out the other monitor, or get into a weird state when I change the window.

rancid temple
#

Like it doesn't lock my mouse but also when I'm debugging C# it won't tab to my code when it hits the break point and I can't take screenshots of the game unless I make it windowed

#

I assumed these were monogame limitations

next plaza
#

My maximized SDV is weird, sometimes there's a thing vertical line on the monitor it's on that it doesn't fill, and then it overflows to the next monitor that amount

teal bridge
#

Yeah, that part is a problem, I always have to remember to drag VS to a different screen before setting a breakpoint.

rancid temple
#

If you make it windowed it'll tab over, just wish it filled the whole window lmao

teal bridge
#

I just need to get a third monitor for all this.

lucid iron
#

is there some syntax like this

{
    "Action": "Load",
    "Target": "Mods/{{ModId}}/*",
    "FromFile": "sprites/{{TargetWithoutPath}}.png"
},
#

to load all textures in a folder

next plaza
#

I don't think so

lucid iron
#

unfortunate

next plaza
#

Very

rancid temple
#

Just collect them all into a list and iterate SDVpufferblargh

proud wyvern
uncut viper
#

theres the mod i used \o/ nexus was bein too slow when i went to get it

next plaza
#

Huh

#

It's that simple to fix?

uncut viper
#

life saving mod

proud wyvern
#

kinda

#

it does come with its own problems

#

the window resizes if you turn on splitscreen

next plaza
#

Ah

proud wyvern
#

so you gotta maximize again

#

but if you only do singleplayer, it's perfect

summer bobcat
#

Can you add bundles to the community center using Content Patcher?

brittle pasture
rancid temple
#

At some point I have to stop thinking of new features for this mod...
Trying to decide if being able to have different prize pools for different crane game cabinets is worth the effort or not lol
@naive wyvern ?

naive wyvern
rancid temple
#

I'm mostly feeling like, I'll never be done because I keep thinking of new stuff lmao

lucid iron
#

listen to the scope creep worm

rancid temple
#

I am also kind of reluctant to make it a future feature because it would be a change that effects how the data asset is used

#

So if I change it later, all 2 people who use it would also need to adjust their data changes

naive wyvern
#

oh shoot youre right

uncut viper
#

no matter how many features you add before release, you will still probably figure out that a 1.1.0 is upcoming right after you hit publish

rancid temple
#

That's always the bug fixes lmao

uncut viper
#

those go in 1.0.1. small fries

rancid temple
#

Yeah, I guess I need to restructure my thought process on that, since I don't really want to handle putting translations directly into my mods anymore

uncut viper
#

do the prize pools currently use normal item spawn fields like shops?

rancid temple
#

Hm, no, I didn't think of that, I was only adjusting it slightly from how the base game works, so it's just a list of qualified item ID's that I use to generate lists of items to choose from

uncut viper
#

(for your mod i mean not the vanilla cabinet)

rancid temple
#

Well, that's basically what it is anyways, this data asset is kind of starting to get away from me too lol

uncut viper
#

switching to that could let you use item queries and an optional peritemcondition to allow different prizes per cabinet

#

(or just, yknow, a list of shop entry esque entries in the cabinet)

rancid temple
#

Well, that was easier than I thought lol, though I'm not really sure how to get it to know which cabinet it belongs to through this direction

#

My original thought was to add the desired prize list to the tile action

uncut viper
#

is this one asset shared by every single crane game cabinet placed on any map?

#

like that specific instance of it

rancid temple
#

I think so? It's a custom asset I've put into the content pipeline so it can be modified with CP and then I'm just making use of it from there

#

But there's nothing really about the cabinets that set them apart since they're just visual representations of where a tile action is

#

Just the tile action can be different

uncut viper
#

im not 100% sure how you've set things up bc i havent looked at the code obv so stop me if this doesnt make sense, but could you make whatever asset you're having people edit with CP a string to CraneData (or w/e) dictionary like Data/Objects is, and then have them specify the ID of the crane in the tile action

rancid temple
#

If I understand correctly, I think you described what I was considering lol

velvet narwhal
#

SDVpufferthink i'm seeing a lot of switch cases in here

rancid temple
#

Better switch cases than hundreds of lines of if else

velvet narwhal
#

true

#

did you nuke the seasonal cases?

rancid temple
#

Originally I did, but I've added back in a way to do them

uncut viper
rancid temple
#

Yeah, it's unfortunately a game of telephone with me just describing what I'm doing lol

velvet narwhal
#

i have 0 idea what is doing what, but does the dictionary bit not let CP add entries?

uncut viper
#

provides users with more options and flexibility without you having to do extra work to support it SDVpufferthumbsup

rancid temple
#

And I'm terrible at telephone

#

All my code is here so feel free to look at if you want to descend into my insanity lol

velvet narwhal
#

minigame insanity ahoy

rancid temple
#

But yeah, I think I will definitely make use of the item spawn field because it does seem like it'll be more useful even if I only end up using some of its features

brittle pasture
#

you already have a default entry, that's great - no need to refactor it lol

uncut viper
#

i was gonna say yeah, doesnt look bad at all bc of that. the common item spawn fields would mean you wouldnt need that Season stuff either

rancid temple
#

Anyways, I am off to walk around a little Japanese import store for a while

#

Thanks for the suggestions, I'll see what I can whip up when I get back to it later

uncut viper
#

i should probably be off to finish the documentation for BETAS. and by finish i mean continue staring at a blank README.md like i have been for hours while i watch videos on the side

velvet narwhal
#

i rewrote my faq to avoid event coding so i feel that

#

i have to stay up for at least another 3 hours so i'm no longer on the wrong circadian anymore

brittle pasture
uncut viper
#

the problem is i honestly think just making an example content pack would actually be more work in this case

velvet narwhal
#

i don't remember the amount of stuff you've put into it

uncut viper
#

just a load of triggers, actions, and GSQs, and each trigger has a whole bunch of mod data i'd need to remember to include too, and making sure theyre all included in every GSQ in one big long Condition line.... gross

uncut viper
lucid iron
#

A example mod would need to be like

uncut viper
#

21 GSQs actually i was out of date with myself

lucid iron
#

Button's wonderful widget

#

And it sends off a random trigger every time u interact

velvet narwhal
#

i mean if you'd like to pull me away from this event coding i don't mind throwing it into my massive trigger action list

uncut viper
#

"button's literal take on everything happens everywhere all at once"

#

honestly i know that once i actually start writing the documentation and have stuff i can copy paste, it'll be easy

#

starting it tho...

velvet narwhal
#

"The Everything Bagel" should be the header image

uncut viper
#

i was gonna edit the stardew h orse onto the "Everything happens so much" tweet

lucid iron
#

Can u build it from c# docs

uncut viper
#

im not smart enough to know how to answer that so the answer is probably "could someone? yes. could i? no"

lucid iron
#

Also what will u do with BETAS when it is exist for everyone?

uncut viper
#

probably sit around in this channel and help with random questions and go "i can add that to BETAS if you want" whenever someone asks if theres a GSQ/trigger/action for something

#

i do plan on using it for myself too for my eventual NPC mod

#

thats a long term goal though

brittle pasture
# lucid iron Can u build it from c# docs

I don't think building from source doc is easy because of all the differences between platforms in regards to building. I've had to:

  • Fix case insensitivity for mods developed on Windows because I'm on Linux
  • Delete build artifacts manually because the build script put files in places that don't exist on Linux, or exist in the wrong location
  • Remove references to Windows-only post-build executables
lucid iron
#

Well it's ok windows ppl don't deserve docs \s

velvet narwhal
#

windows constantly telling me to upgrade to win11 you're right though

uncut viper
#

"but doctor, i am the windows person"

lucid iron
#

for my case I was hoping to like, get some markdown files from the docs I have in my model classes

#

As basis for content making guide

brittle pasture
uncut viper
#

i like to think im already there for books too but in fairness for that not many people care to make one and theres only like one common feature people wanna do with em soooo.... SDVpuffersquee

velvet narwhal
#

speed +5

uncut viper
#

you can do that without any other mods to help if you want

velvet narwhal
#

book that forces my multiplayer friends to speak in dwarvish so i don't have to see them type

lucid iron
#

It's not a thing I need rn but does emc support custom incubators

calm nebula
#

Book that makes the fishing game autocomplete

brittle pasture
lucid iron
#

Was thinking about this while looking at the machine rules that have OutputMethod and therefore get marked as too complex

uncut viper
#

besides obviously the very custom effects like the books in my mod and the other popular book mod on nexus the only really useful thing people usually wanna do with books but cant (easily) is recipes, which is why SPU supports that, but aside from that books are just not very useful on their own without C#

hollow hazel
#

is any one up for helping me with a moding problem?

lucid iron
#

Ask away

velvet narwhal
#

75% of this channel is "mod authors chill", waiting for the fun problems

lucid iron
calm nebula
#

(Tbh I would actually like it if there was a book that made the fishing game autocomplete for fish under difficulty 50.)

hollow hazel
#

thank you, my mod is loading but nothing is happening? the smapi log is clear and the json code is good

#

Any ideas?

uncut viper
lucid iron
#

Gotta show us your mod

#

!json

ocean sailBOT
#

JSON is a standard format for machine-readable text files, often used by Stardew Valley mods.

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

hollow hazel
ocean sailBOT
#

Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 11 Home, with 23 C# mods and 60 content packs.

lucid iron
#

Is it a content patcher mod

brittle pasture
hollow hazel
#

yep content patcher

teal bridge
brittle pasture
#

I misunderstood the question (was thinking about "how to build this code from source guide") and used it as an opportunity to rant about building

teal bridge
#

(I'd certainly argue that it's not a good way to generate a readme, since those docs are for developers, not users; but it's definitely possible.)

calm nebula
#

Space it out a bit

#

We can make this a pleasant experience

velvet narwhal
#

i am certainly reading that .json, but my sleepless brain is only saying, "why is there a seasonal token on everything"

teal bridge
#

There's an EZ Fishing mod that does this already (minus the book)

calm nebula
#

For easy fish only?

lucid iron
teal bridge
lucid iron
#

To double check that your loads are last

#

Another thing is that you may want to use the new appearances system instead of content patcher conditions

hollow hazel
#

ahh i didn't want to recode it put needs must

teal bridge
#

One of the options is "skip minigame" which is auto-catch.

velvet narwhal
#

less bloat and clearer festival conditions when you're using appearances

lucid iron
#
Stardew Modding Wiki

If you want to add seasonal outfits for your NPC, there's two ways you can do this: the token way or the Appearances way. Appearances is a new code structure added in SDV 1.6, so if you're looking at an older NPC's code for reference, they'll most likely be using the token way. The main difference between the two is that the token way is simpler...

uncut viper
#

i think atra doesnt want auto catch if the fish is normally supposed to be difficult though

#

like breams, auto catch sure, but octopus, those you need to work for

lucid iron
#

It's the recommended approach for 1.6

brittle pasture
#

according to the description it seems like what they're doing for easy fish is just to make the bar autochase the fish, not skipping it?

calm nebula
#

It can do both

brittle pasture
#

oh wait nvm I didn't read further

teal bridge
#

I guess so. In 1.6 I'm always using targeted bait so I don't really waste time catching easy fish except for the occasional bad RNG roll.

#

Anyway, point was, it's got source, so you can do whatever they're doing.

calm nebula
#

But what I wanted was to remove the boring time wasting the bloody bar isn't even moving bits

teal bridge
#

Just modify it to look at fish difficulty.

uncut viper
#

its not difficult i think atra just didnt want to do it themselves SDVpuffersquee

#

it would be a decent book option i suppose

teal bridge
#

Personally, I find the fishing trash RNG way more annoying than a few boring catches. But, that's the intended mechanic, so I'm not modding it away.

lucid iron
#

Do u think it's a good idea to make an alternative fishing mini game that's more cursed

velvet narwhal
#

spirittea cursed fishing minigame

uncut viper
#

i want a mod that adds ffxiv style spearfishing

lucid iron
#

I'm thinking of the one from persona 4 it's awful (affectionate)

velvet narwhal
uncut viper
#

too late i think

velvet narwhal
#

i'm horrible at spearfishing but it do be a good brain rot

gilded comet
#

oh i was going to work on a spearfishing mod and decided i didn't actually wanna do it lol

brittle pasture
#

or randomizing between multiple possible fishing games, and add Hades' one in there (to those unaware, you have to wait for a sound/visual cue and press the button within half a second. and yes there are fakeouts)

teal bridge
#

Worst fishing minigame ever.

lucid iron
#

That one is easier than stardew tho

teal bridge
#

Yeah, but somehow even more annoying.

velvet narwhal
#

be extra cursed, go yakuza 0 fishing

teal bridge
#

Maybe it's just because fishing was such a pointless thing to put in that game.

lucid iron
#

Cus I would go to door and then see the fish spot but I'm in door anim

uncut viper
#

take the worst fishing minigame one can think of and combine it with the word "Realistic" which means it takes several in game hours just to get one good bite

teal bridge
#

"Immersive fishing"

velvet narwhal
#

any horror fishing game

uncut viper
#

every game needs a fishing minigame in my opinion

lucid iron
teal bridge
#

Got the Skyrim vibe, and even a bit of a double entendre.

gilded comet
calm nebula
#

But I wouldn't hold my breath

uncut viper
#

if you've got an amusing book name for it i can put it on my list for after 1.6.9

calm nebula
#

Make it a localized programming language

#

Where the programmer has to be a specific amount of polite

uncut viper
#

if possible (please check fish == not too difficult) then if its not too much trouble { catchFishNoWorriesIfNot() }

velvet narwhal
#

fishing minigame where you have to typetolearn the proper underscore casing per direction

tiny zealot
velvet narwhal
#

intercal?
nvm that's the incomprehensible language
wait intercal actually uses "please"

tiny zealot
#

that's it! intercal

velvet narwhal
#

i'm laughing

uncut viper
#

i like that in intercal you can write "PLEASE NOTE:" as an inline comment bc the line has "NOT" in it so it gets skipped. very nice

summer bobcat
#

Is it possible to change the sprite of a bundle in the community center with a custom image rather than using JunimoNote; if so, how could I go about doing it?

lucid iron
#

You can change it for every bundle

#

You cannot change only 1

uncut viper
#

(unless you're the hardcoded racoon bundle, apparently)

uncut viper
#

a whole extra constructor that allows changing the texture of the junimonotemenu note... only ever used by the raccoon. incredible

calm nebula
#

Part of what makes the game feel special tbh

#

A lot of little things have special hardcoded behavior

summer bobcat
#

Well dang. Is there any additional mod that could help with adding an additional icon for the bundle, or must I have to find a work around if any exist?

uncut viper
#

actually

velvet narwhal
#

my brain cannot comprehend what is being asked

uncut viper
#

it seems like you can specify the override in the raw bundle info string too?

#

im not sure which texture it actually controls though, if its the note background or the picture

#

it might be both even

#

never mind its not both (i think) its just the picture you'd see in LooseSprites/BundleSprites, not the menu background itself. womp womp

#

unless thats what you wanted CosmicSnek?

summer bobcat
#

Yes. I wanted to change just the images, not the background.

lucid iron
#

well i guess you got 3 spaces blobcatgooglyblep

uncut viper
#

it seems like the 5th index in the bundle string, then, determines the texture override

lucid iron
#

i originally thought you wanted to change the texture of the little slate

uncut viper
#

in the form of TextureAssetName:TextureIndex i think

lucid iron
#

that you interact with to open bundle menu

velvet narwhal
#

is that really the sound casesensitive name

#

throwDownITem

#

it is, i'm gonna lie on the ground

calm nebula
#

Fishing minigame but it's calculus

uncut viper
#

which notation

velvet narwhal
#

please....... no....... i'm already dreading calc 2 in 9 days SDVpufferflat

lucid iron
#

leibniz ofc

uncut viper
#

correct answer

next plaza
calm nebula
#

.... I'm just gonna sip this tea on a beach

velvet narwhal
#

take me with you, but i wanna get a margarita

calm nebula
#

Are you dealing with mobile again?

calm nebula
uncut viper
#

well it was nice knowing atra while it lasted

deep cypress
#

I wish Stardew had afternoon weather. Like, storms. From once sunny skies.

plucky reef
#

be the change you wish to see

brittle pasture
#

SDVpufferthink is it part of Cloudy Skies? if not maybe it can be added

plucky reef
#

I took a two week break in the middle of trying to solve a problem with some nested stuff, came back and have no clue what I'm looking at anymore.

brittle pasture
uncut viper
#

i did briefly think about it but i wasnt confident that i understood the consequences of changing weather mid day (e.g. for schedules, dialogue, content patcher tokens, etc)

#

i didnt think it would be as simple as just Game1.weather = "Rain" but admittedly i didnt really look into it,

plucky reef
#

Ok so in my spell class Bolt, I have this to load the texture.
But, do I have to put the load also into the Mod Entry?

lucid iron
#

You should probably just do it in AssetRequested

#

all these loads I mean

#

I made the mistek of pulling pathos' repo before 1.6.9 update and now I gotta add back a removed extension method to get stuff to build LilyDerp

brittle pasture
#

1.6.9 is out? SDVpuffereyes

lucid iron
#

No but very soonโ„ข๏ธ?

honest prism
#

sorry if it sounds stupid I'm not familiar with these whole modding thingy

uncut viper
#
  1. are you sure that you actually updated stardew? i would also update to the latest smapi just in case, too
  2. this is more for #archived-modded-support i think
honest prism
#

Oh okay, Thanks!

plucky reef
honest prism
plucky reef
#

ty!

brittle pasture
#

and then in code you'd just read from the asset name

plucky reef
#

the reference tab pile grows...

stable arrow
#

Hi, I'm new to modding and have been trying to make sense of things
I have been looking at the Farm.tmx file and wonder if these blocks do anything or which tile they are actually pointing to

<objectgroup id="7" name="Back" visible="false" locked="false">
    .
    .
    <object id="25" name="TileData" x="1104" y="144" width="16" height="16" rotation="0">
      <properties>
        <property name="NoSpawn" type="string" value="All" />
      </properties>
    </object>
    <object id="26" name="TileData" x="1104" y="160" width="16" height="16" rotation="0">
      <properties>
        <property name="Buildable" type="string" value="f" />
      </properties>
    </object>
    .
    .
</objectgroup>

I am especially interested in the Buildable = "f" objects. Any help is greatly appreciated ๐Ÿ™

mighty ginkgo
inland cedar
#

should farmhand be allowed for EditMap? should I add When master only?

#
      "Action": "EditMap",
      ...
      "When": { }
      }```
silver pelican
#

Im just curious but is modded gameplay supported in iOS? Are there compatibility issues I should know when making mods?

mighty ginkgo
unique sigil
#

hi, does anyone have a tutorial on how to make customizable farm maps? like maps with config options to remove terrain features, etc.

stable arrow
velvet narwhal
#

SDVpufferflat kinda wish there was a 'manual' update rate because i don't want to check for this thing all the time, but just for like, the once a month thing or however long i set the query to

uncut viper
#

i am now approximately... half done writing the documentation for BETAS 8') ive been at it since i first mentioned it last night. god i hate writing documentation maybe its not too late to quit modding forever actuallyโ€”

velvet narwhal
#

i do not look forward to the midi parser documentation

#

i must push through and finish these events i swear i'll have at least this one done before i'm forced to suffer play ff14 in roughly 13 hours SDVpufferpain

velvet narwhal
#

........okay i'm done dealing with vortex eating my mods

mighty ginkgo
# unique sigil hi, does anyone have a tutorial on how to make customizable farm maps? like maps...

i'm not aware of any tutorials, but probably you'd do it with content patcher's config system https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/config.md. the specifics really depend on the type of edit, content patcher can edit map and tile properties on its own without map files, but bigger changes generally are better done using a map file to patch the target map (or you could even have different versions of the whole map that you use depending on the config option)

unique sigil
velvet narwhal
#

.....wow okay why do people not sing stardrop's praises more SDVpufferwaaah

floral canyon
#

Hi everyone, I wonder if anyone knows how to add ambient sounds to indoor locations? Sounds like babblingBrook only work on outdoor locations but Caroline's sunroom still has the ambient sound. I have cloned the room and I think I have all the same settings but the ambient sound still doesn't work. Making the room outdoor true adds clouds etc so I don't want that. I have trouble locating the effects of the sunroom as it has besides the ambient sound also a butterfly flying around.

mighty ginkgo
#

i assume they are not part of the SunRoom audio track?

velvet narwhal
#

the sunroom has it's own music context of just "SunRoom"

spice inlet
#

TreatAsOutdoors should work as well

mighty ginkgo
#

is it set in Data/Locations?

velvet narwhal
#

yeah: "MusicDefault": "SunRoom",

mighty ginkgo
silver pelican
#

is there like a console command to unlearn a recipe? that way it can be triggered in the shop to buy from it again?

floral canyon
hallow prism
floral canyon
#

"Music": [],
"MusicDefault": "SunRoom",
"MusicContext": "Default",

floral canyon
urban flower
#

Hello, does anyone perhaps know if the query token and dynamic tokens can be used in the X and Y coordinates in the FromArea and ToArea fields? I've been trying to make this line to work but I don't know what I'm doing wrong SDVpuffercry "FromArea": { "X": "{{query: {{X}} + 177}}", "Y": "{{query: {{Y}} + 42}}", "Width": 1, "Height": 1 }

mighty ginkgo
#

i have used them in that context without problems, but i don't remember how exactly and i don't have the mod at hand to check

#

is the problem that the patch isn't applied or something else?

floral canyon
#

The TreatAsOutdoors worked after all, my mistake. Thanks very much for the help!

urban flower
mighty ginkgo
#

yep

urban flower
#

I see! Yes, the patch wasn't applied, but I changed the value of my dynamic token to integer in case CP couldn't perform the arithmetic logic to a string, but now I get this error in SMAPI the source area is invalid: X value '' can't be parsed as an integer.

silver pelican
hallow prism
#

i can't look right now

mighty ginkgo
velvet narwhal
#

i assume you're doing it for testing purposes, so it's probably not worth it to be in actual code

silver pelican
silver pelican
urban flower
mighty ginkgo
#

how is the X1 token set? seems like the problem is with it

urban flower
#

Just like this

    "Name": "X1",
    "Value": 0
}```
#

Should the Value field be enclosed with double quotes? Because I tried it and it didn't show any difference with the result

mighty ginkgo
#

i don't think CP cares about that. can you upload the content.json to smapi.io/json and link it here? there could be formatting error that causes the dynamic token not to work

cinder thorn
#

Dynamic tokens won't reload with patch reload, iirc you need to close the game and start again for it to reload?

#

I don't remember if it needed to be string or can also be numbers

mighty ginkgo
#

okay. i don't know what the problem is then (the validator complains about them not being in string format, but that might be just the validator being stricter than CP)

cinder thorn
#

Then it might have to be string.

mighty ginkgo
#

sure, shouldn't be harm in changing it back to a string

cinder thorn
#

If you reload the game and it still not work you have to put your number in a double quotes

urban flower
#

Just a question, do Dynamic Tokens work as variables in other programming languages? Because the patch right above where the error was, I set a non-zero value to the dynamic token which should carry over to the next patch, right?

cinder thorn
#

What happen when you try patch parse it

urban flower
# cinder thorn What happen when you try patch parse it

here:

[Content Patcher]
Metadata
----------------
   raw value:   {{query: {{X2}} - 1}}
   ready:       True
   mutable:     True
   has tokens:  True
   tokens used: Query, X2

Diagnostic state
----------------
   valid:    True
   in scope: True
   ready:    True

Result
----------------
   The token string is valid and ready. Parsed value: "-1"```
lucid iron
#

Is X2 zero

analog reef
urban flower
#

the 2nd patch was were the error was generated but I set the value in the first patch tho?

{
            "Action": "EditImage",
            "Target": "Maps/TownInterior",
            "FromFile": "assets/TownInterior2.png",
            "PatchMode": "Replace",
            "FromArea":    { "X":    "{{query: {{X2}} + 158}}", "Y":    "{{query: {{Y2}} + 42}}", "Width": 1, "Height": 1 },
             "ToArea":    { "X":    "{{query: {{X2}} + 158}}", "Y":    "{{query: {{Y2}} + 42}}", "Width": 1, "Height": 1 },
        },
        
        {
            "Action": "EditImage",
            "Target": "Maps/TownInterior",
            "FromFile": "assets/TownInterior2.png",
            "PatchMode": "Replace",
            "FromArea":    { "X":    "{{query: {{X2}} - 1}}", "Y":    "{{query: {{Y2}} + 1}}", "Width": 1, "Height": 1 },
             "ToArea":    { "X":    "{{query: {{X2}} - 1}}", "Y":    "{{query: {{Y2}} + 1}}", "Width": 1, "Height": 1 },
        },```
urban flower
ocean sailBOT
cinder thorn
#

What if you do patch parse {{X2}}

lucid iron
#

I am also pretty confused about what you are hoping to do with dynamic tokens here, why not just write the literal number instead of using query

urban flower
urban flower
lucid iron
#

They aren't variables that accumulate values

cinder thorn
#

Is your dynamic token a value which can be set with config options

#

Actually, send the whole content.json again

lucid iron
#

if you really want for loops then I'd just use C# blobcatgooglyblep

urban flower
cinder thorn
#

Are you just, trying to change the game tilesheet?

#

Why not using exact value as coordinates

urban flower
#

thanks anyway!!

urban flower
cinder thorn
#

You just want to change parts of it right, not the whole tilesheet?

lucid iron
#

Content patcher will prob never implement accumulating tokens like you are imagining because it's designed to be unordered

#

So that any asset can be invalidated by itself

hallow prism
#

(honestly not quite sure what's easier in typing X+152 rather than the direct value)

lucid iron
#

Without concerns about state

analog reef
# lucid iron !decompile Need 1.6 decompile

ah thanks, i see the code is a little different in this version, and i was able to find the code for bombs (in TemporaryAnimatedSprite.cs, if anybody in the distant future searches this message)

urban flower
cinder thorn
#

I guess you can use valueAt and such, but honestly, as long as you use the exact value and correct patch mode it won't conflict (that much)

urban flower
cinder thorn
#

Direct value are just easier, and maaaybeee better troubleshooting and performance? Idk ๐Ÿ˜†

urban flower
analog reef
#

is there like a quick way to reload mods so i don't have to like restart the game over and over again

velvet narwhal
#

patch reload uniqueid if you made edits into your default.json (if you have one) reload_i18n then patch reload uniqueid

#

the above about dynamic tokens persists though, that one you can't get around without fully reopening the game

analog reef
#

oh sorry i'm making a mod in c# not content patcher
not sure if that's relevant to me

velvet narwhal
#

oh something about hotreload

#

i don't know what IDE you're using SDVpufferclueless

analog reef
#

alrighty thanks

wanton pebble
#

What's the simplest way to determine if Elliott is on his book tour?

royal stump
calm nebula
#

Check to see if there is a bunch of ads for his book?

wanton pebble
ornate trellis
#

hmm...wheres the scene where we arrive at GI for the first time? i tried looking at islandsouth, beach and boattunnel already, i wanted to check how something was done in the event

royal stump
#

BoatTunnel.cs and partially stored in string data, it looks like? SDVpuffersquint

wanton pebble
ornate trellis
#

ah, string, havent looked there yet

#

hmm

lucid iron
#

is there a scene for arriving on GI? i thought it just has crab spawns

royal stump
#

I don't recall anything happening on actual arrival, so I was just looking at the first visit stuff in StartDeparture

lucid iron
#

if u mean the boat trip then it's BoatJourney.cs, which is a mini game cutscene

ornate trellis
#

oh no i meant the boat arrives and we plop out moment or w/e

#

or do i remember that wrong....

#

theres the scene where we ride off and arrive and thats it p much

#

curse me for always skipping it to not remember right

drowsy pewter
#

idk if theres a scene

wanton pebble
#

The only GI scenes to and fro are the one boat journey thing like chu/e mentioned, otherwise it's just a minor "all aboard" as you go and you're standing on the boat as it leaves either Willy's shop or the Island

#

The all aboard only sometimes happens and is only on the Willy's shop side

ornate trellis
#

or was it jsut we sail away and then plop boat and farmer at the island

wanton pebble
#

the second, essentially, for all times except #1

hallow prism
#

there's some small integrated "cutscenes" with the flame thing and similar but they aren't event per se, just code

ornate trellis
#

I just wanted a reference on how to have the boat be there and farmer and willy appear fdfs

drowsy pewter
#

i dont think willy ever comes out lol

wanton pebble
#

he does if you're on the shop side

#

but not on the Island side, no.

ornate trellis
#

i know i can make willy appear and stand there but i was mainly wondering how to get the boat just being there

drowsy pewter
#

yeah. i remember it being weird that you just get unceremoniously dumped at the island

#

idk you could use a temporary sprite to set up the boat right?

cobalt anvil
#

does anyone know if there is a console command for UNcompleting a quest?

wanton pebble
#

(New mod idea - event that occurs the very first time you land on GI)

ornate trellis
#

ive only done really simple events so far so im like lost lol

wanton pebble
#

There is, theSamePlant, but I don't remember it off the top of my head

drowsy pewter
wanton pebble
#

I know there are multiple ways to forget a quest though - it's either some console command or forcibly running a trigger action or similar

cobalt anvil
#

dang. that console command page was what i was looking at

#

i feel like i've done it at some point too

drowsy pewter
#

yeah i dont see any under the quests section

cobalt anvil
#

but like..maybe i just cleared all the flags

ornate trellis
#

guess i gotta read up on temporary sprites, huh

drowsy pewter
#

yes

#

just do that

craggy nimbus
#

Hello

drowsy pewter
#

hi

cobalt anvil
#

thx yall

craggy nimbus
drowsy pewter
#

do you have a modding question?

ornate trellis
#

ill jsut come back crying when I fuck up my event josweat

wanton pebble
#

(Generally this section is for modding questions and it's generally straight-to-business here - if you're looking for conversation about mods, #modded-stardew is your best bet)

wanton pebble
lucid iron
#

you will get it first try ez game

ornate trellis
#

at least i am smart and wrote some kinda script i can go by so I dont gonna think about what to do and just HOW to do it lol

craggy nimbus
wanton pebble
#

Depends on what you mean by start modding

lucid iron
#

do you have a mod idea in mind?

wanton pebble
#

Playing with mods or making them, and if the latter, see chu/e's comment

craggy nimbus
#

Mmh, i would like to make mods for Halloween (even if it isn't Halloween) because it's my fav season.

#

Ik the mods for halloween, but i wanted to make my own, why not.

wanton pebble
#

Can you give examples?

#

Halloween's a very broad topic

drowsy pewter
#

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

drowsy pewter
#

If you dont have programming experience, it's easiest to start with a content patcher mod

lucid iron
#

as u know halloween in stardew is spirit's eve

drowsy pewter
#

so read the first bullet point

lucid iron
#

do you wish to modify that event?

craggy nimbus
drowsy pewter
#

Well whether you make a json/Content Patcher mod or a C# mod depends on what exactly your idea is

#

so feel free to read through some of the links above and figure out an idea

craggy nimbus
#

Okay!

drowsy pewter
#

people here can help give recommendations on what path to take once you have a specific idea

craggy nimbus
#

Anyways, C# is like for textures pack? (didn't understand this, sorry).

dusk terrace
#

do we need to do something in particular to get the debug junimo huts from the big farm setup to start working..?
the huts are there, the crops are grown, yet they aren't spawning SDVpufferthinkblob

wanton pebble
#

Side question, apologies for interrupting this - I'm toying with the idea of trying to let the user know their date would have been Elliott but he's on the book tour (right now it would be a silent no date). As such, I need to check on the behavior of dynamic tokens - do they evaluate from top to bottom or definition by definition?

drowsy pewter
#

C# is for changing fundamental game mechanics that are not easily accessible via JSON modding. For basic mods like texture changes and item additions and NPCs, you do not need to use C#

craggy nimbus
wanton pebble
#

Context: The easy way to prevent dates is to set DateInterest to 101. However, this then screws the check to see if Elliott would have asked that day, so I'm either making a weird token check just for Elliott, or I'm looking to see if I can have it calculate DateInterest initially, check THAT DateInterest, THEN set it to 101

drowsy pewter
#

use Content patcher/json for texture packs

lucid iron
craggy nimbus
dusk terrace
drowsy pewter
#

Me looking at the "list of frameworks" page: Hmm, I should update that for 1.6...

#

...don't feel like it

lucid iron
#

wow til thats a thing DokkanStare

dusk terrace
#

I also used the command to force complete the cc and to give the magic ink hoping those were requirements, but it didn't change SDVpufferthinkblob

lucid iron
#

perhaps it'll work if you go to bed

dusk terrace
#

tried that too SDVpufferchickcry

lucid iron
#

check if the huts got set to disabled?

#

im out of ideas after this one blobcatgooglyblep

dusk terrace
#

this icon?

lucid iron
#

ya looks enabled think

dusk terrace
#

I thought maybe the force grow crop was affecting it too so I slept 4 days for new parsnips but nope lol

lucid iron
#

can only speculate some mod shenanigans happening here

dusk terrace
#

omg... I should've tested that earlier ๐Ÿคฆ

#

none of these mods should be affecting it, but clearly there is one

summer bobcat
#

Is it possible to use big objects--like kegs--as requirements to complete community center bundles?

drowsy pewter
#

not without C# i think

#

CCCB's framework doesnt allow for qualified IDs, so it would be assuming that everything is an Object

#

as opposed to a Big Craftable type which is what you're talking about

dusk terrace
#

junimos come out at 6:10, when the time changes

calm nebula
#

Lazy!

#

They should get to work on time

dusk terrace
ornate trellis
#

ok so i actually ate before i started working on my event lol

#

is it only possible to animate 32x16 i dont see anything about bigger sprites (wanted to animate constance fishing in the event)

drowsy pewter
#

use a temporaryanimatedsprite?

#

i know its possible i just dont make events so idk the technical parts

dusk terrace
#

why do junimos have two shadows? SDVpufferchickcry
one is drawn in the junimo+harvester classes, then another from.... NPC maybe? idk so weird

#

cc junimos use the NPC.HideShadow NetBool, but harvester junimos don't ... SDVpufferthink

vernal crest
brittle pasture
ornate trellis
lucid iron
#

it would be nice if the flowchart is redone as well

#

since content patcher ate like half of these

drowsy pewter
#

and we can just remove the flowchart

#

it's hard to follow anyways

brittle pasture
#

frameworks in a post-1.6 world are usually CP extensions

vernal crest
drowsy pewter
#

like it actually needs a rewrite with an explanation of the game data model and how content patcher fits into that (and list as many things that CP can do so new modders understand if their idea can use CP), THEN a list of every other framework that supplements what CP cant do

#

at that point it could just be a nother page

#

i just dont feel like doing it

ornate trellis
vernal crest
dusk terrace
ornate trellis
#

ok yeah no i am confused i do need help setting this up

#

like, theres several thing idk what to put

#

maybe i try addtemporaryactor instead without animation cuz i really dont know to do the other thing SDVpuffereyes

vernal crest
#

No you can do it!

#

I can walk you through it

ornate trellis
#

pls I am already stuck at- well i am not even posistive i did it right so far

#

waht I got so far is this
temporaryAnimatedSprite assets/Images/Constance/Fishmonger_spritesheet.png 0 128 16 64 120 4 1 21 44 false false

#

and this is the tilesheet

#

wel, the part that matters is on there

vernal crest
#

Ok so first things first, have you Loaded Fishmonger_spritesheet.png somewhere else in your code? You'll be referencing a game asset in the texture field of the command itself, not a file in your mod folder.

ornate trellis
#

i have only loaded it as the npc spritesheet in the dispo

vernal crest
#

If it's her normal overworld spritesheet, that's fine. What did you make the Target when loading it?

ornate trellis
#

oh wait i needed the target?

#

its jsut Characters/TheFishmonger

hollow hazel
#

hi, is any one up for helping me with appearance code?

vernal crest
#

Ok then you'd make it "Characters\\TheFishmonger" (although you should really be giving your NPCs more unique internal names than that)

vernal crest
ornate trellis
#

that reminds me i also dont know how to swiitch out the temp sprite with the npc when its time cdsfs)

vernal crest
ornate trellis
#

ok, i switched it out

hollow hazel
vernal crest
#

With the double backslashes?

ornate trellis
#

(and yeah i probs should but its an already established npc so i fear itll break everyones game who has her in it)

ornate trellis
vernal crest
rancid temple
#

All your Season's are spring

#

Sorry not all

#

Your uh Winter is also spring

vernal crest
# ornate trellis yeah I copy-pasted lol

Ok cool. Your x y coords look correct and so do your size numbers. You've said there are 120 frames in the animation though which seems...massive. I can only see 4 frames in your spritesheet.

#

Wait sorry I swapped some numbers around when reading. Ignore that! You have 4 frames.

ornate trellis
#

oh no 120 was supposed to be how long each frame was...and honestly idk if thats correct

vernal crest
#

No you were correct, sorry Void. I was alt-tabbing and read the 120 as being after the 4.

ornate trellis
#

like, I have the schedule animation of the fishing like this and wanted to mimik it
"TheFishmonger_fish": "8/8 8 9 9 10 10 11 11/8",(used spacecore to make the sprites longer hence the different numbers)

vernal crest
#

You should just be able to add 0 0 1 0 0 0 after the second false and then test it.

hollow hazel
#

how would i do them all in one block?

ornate trellis
#

so, temporaryAnimatedSprite Characters\\TheFishmonger 0 128 16 64 120 4 1 21 44 false false 0 0 1 0 0 0/ ?

vernal crest
rancid temple
#
{
      "Action": "EditData",
      "Target": "Data/Characters",
      "TargetField": [
        "Elliott",
        "Appearance"
      ],
      "Entries": {
        "{{ModID}}.Elliott.Spring": {
          "Id": "{{ModId}}_Elliott_Spring",
          "Season": "spring",
          "Portrait": "Portraits/Elliott_Spring",
          "Sprite": "Assets/Walk.Sprites/Elliott_Spring",
          "Indoors": true,
          "Outdoors": true,
          "IsIslandAttire": false,
          "Condition": "TRUE",
          "Precedence": -10
        },
        "{{ModID}}.Elliott.Summer": {
          "Id": "{{ModId}}_Elliott_Summer",
          "Season": "summer",
          "Portrait": "Portraits/Elliott_Summer",
          "Sprite": "Assets/Walk.Sprites/Elliott_Summer",
          "Indoors": true,
          "Outdoors": true,
          "IsIslandAttire": false,
          "Condition": "TRUE",
          "Precedence": -10
        }
      }
    },```
hollow hazel
#

ahh entries section ok

rancid temple
#

Base game uses -100 for Precedence, so you might wanna set yours lower than that

hollow hazel
#

will do

rancid temple
#

I think that was how it worked

vernal crest
#

Won't matter. I have mine all set at 0 for precedence and they all work.

#

Oh mind you - custom NPC

#

So ignore me!

#

I always forget that people edit vanilla NPCs lol

rancid temple
#

I think for vanilla NPC's all you have to worry about for appearance is beach and winter

#

For fighting Precedence

ornate trellis
#

I really hate when my discord stops working ihcbkkk

vernal crest
#

Maybe not even beach since that's not set in appearance anyway

rancid temple
#

Could also just null those lol

ornate trellis
#

ok, there we go

rancid temple
#

Oh yeah that's true

ornate trellis
#

um, smapi tells me my event doesnt exist lol

#

a good start

vernal crest
#

Sounds like a normal start to me lol

rancid temple
#

Is it in an area that doesn't have events?

vernal crest
#

I just tried testing a mod that I had set to depend on another mod, but I'd forgotten to install the other mod

ornate trellis
#

no its on island south i already got another event that does work there

vernal crest
#

Typo somewhere then?

ornate trellis
#

hm could it be ebcause i ahvetn seen an event i set as needed to be been

vernal crest
#

That shouldn't affect debug ebi I don't think?

#

Time for me to learn how preconditions work

ornate trellis
#

oh wait

hallow prism
#

(debug ebi will not care about precondition)

ornate trellis
#

Why is it that everytime i am ingame i cant click anything in discord lol?

#

I wanted to say i found further up some text in smapi but dkfjfk

#

huh waht did i wrong now i just added a random dialogue to not have the event empty

#

brb throwing it into the parser

#

oh

#

fucking love punctuation n shit

#

SBVLmaoDog oops i knew i forgot something

#

however

#

I am jsut realizing i might need to rethink my idea

#

just realized that everyone will be hidden by the goddamn dialogue box most of the time??

vernal crest
#

You should just be able to move the viewport to show the characters

#

I used viewport 3 9 clamp/ to get my viewport to be low enough that the dialogue box didn't cover my characters in a small map.

ornate trellis
#

yeah but the dialogue box is right where they stand

vernal crest
#

If you move the viewport so the characters are at the top of the screen (not map, screen) then the dialogue box will be below them.

#

The dialogue box will be over black space instead

ornate trellis
#

Ok lemme try

vernal crest
#

Like so

#

I really need to remember to draw a shirt on her lol

ornate trellis
hollow hazel
#

hey can i load all my portraits in one like this?

#

"LogName": "Seasonal Portraits - Spring Portrait Load",
"Action": "Load",
"Target": "Portraits/Elliott",
"FromFile": "Assets/Portraits/Elliott_Spring.png", "Assets/Portraits/Elliott_Summer.png",

vernal crest
#

WIthout the viewport command

ornate trellis
#

ugh i am such a fucking idiot

ornate trellis
#

I really should refresh my memories with my old heart events before i do a new one

next plaza
drowsy pewter
#

Yes, we should be removing anything deprecated in 1.6

#

so new modders dont get confused

next plaza
#

It'd be neat to list "CP extension" frameworks too

#

(SpaceCore, Cloudy Skies, ...)

drowsy pewter
#

thats why it feels like it should be a second page, because the info on the page currently works for 1.5 modders (the very few of them)

ornate trellis
drowsy pewter
#

but as a template for the page i think it works

ornate trellis
#

I hate my hole ridden brain that forgets everything all the time

vernal crest
# hollow hazel "LogName": "Seasonal Portraits - Spring Portrait Load", "Action": "Load"...

No, because they will just all try to load into "Portraits/Elliott" and I don't think you can have more than one file in the "FromFile" field. However, you can do this (I have never personally done this so I might be slightly off with the formatting):

"LogName": "Seasonal Portraits - Portrait Load",
"Action": "Load",
"Target": "Portraits/Elliott_Spring, Portraits/Elliott_Summer, Portraits/Elliott_Fall, Portraits/Elliott_Winter",
"FromFile": "Assets/Portraits/{{TargetWithoutPath}}.png",
brittle pasture
drowsy pewter
#

we can ask opinion from pathos or whoever else maintains the wiki

ornate trellis
#

I blame having written that even like over a year ago

vernal crest
brittle pasture
next plaza
#

Is this a page on the main wiki or modding wiki? (I see Selph's is on the modding wiki)

ornate trellis
#

I did
addTemporaryActor TheFishmonger 16 64 21 46 2/showFrame TheFishmonger 8/

drowsy pewter
#

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

drowsy pewter
#

we want to change that first link

brittle pasture
vernal crest
ornate trellis
next plaza
#

Apparently my wiki account still exists, I wonder how much edit permissions I have

ornate trellis
#

i am so sorry for wasting your time fsdfgsgdf

brittle pasture
#

but the intention is to eventually move it to the main wiki yes

vernal crest
ornate trellis
#

i should know myself enough to know i gotta make myself a cheat sheet with important stuff like this so i dont forget

#

man, i need a moment to recover from that self induced L lmao

vernal crest
#

Dangit I forgot what I was doing before I started helping Void

ornate trellis
#

i have infected you with my ailment

vernal crest
#

Oh I think I was wondering whether to spend hours downloading an MMO to play, play 2 hours and then decide it's too boring lol

ornate trellis
#

hmm

#

me: why isnt constance there
also me: forgot to set her up puffersmirk

#

the saga continues

#

...yeah, im not made for events

#

yo what did I do wrong i copied from my other event

#

i did play the older even first to see the fishing worked

velvet narwhal
#

i imagine if you have both the actor loaded and the temporary sprite, it's showing both

#

i do not know for sure though since i cannot have my grabby raccoon hands on it

ornate trellis
#

a heck i did forget to delete the npc ugh

velvet narwhal
#

you can have both if you're using both

#

it's about timing the warp off screen though

ornate trellis
#

ok, got her to fish oh my lord

#

shouldve taken that break

velvet narwhal
#

now you can

#

don't worry, i took 2 hours just to write 10 seconds of two actors climbing down a ladder

ornate trellis
#

being so bad with events is exactly why I wont even think about learning how to code. my brain is sadly weirdly wired that it does not compute

velvet narwhal
#

i just commission you with tilesets and i'll write your events

ornate trellis
#

you'd need to read a whole novel of a script first for my event lmao

vernal crest
#

Void I love programming and I hate writing events

ornate trellis
#

tbh i am at least happy that we can now write the event parts in new lines and not one long one

vernal crest
#

I knoooow right. It makes it so much easier.

ornate trellis
#

cuz god, id make mistakes jsut having typos n shit...

velvet narwhal
#

void i don't know how to tell you this

#

i've already written a 7 minute event

ornate trellis
#

nbow i at least just get confused on how to do a thing

velvet narwhal
vernal crest
#

Aviroen is a wizard to be able to read their horrible monster single line events xD

hallow prism
#

the errors in log is wonderful to have too

ornate trellis
velvet narwhal
#

i just shrimply, Adjusted โ„ข๏ธ

#

tbf it's not single line, it's wordwrapped SDVpufferclueless

vernal crest
vernal crest
velvet narwhal
#

i'm just a fiend and i hate scrolling, so i just got used to it

#

unfortunately linkoid's syntax highligher won't work for vs22 or else i'd love the \\ highlighter for when i'm doing breaks

lucid iron
#

i mean vscode is free

#

u can just use both DokkanStare

velvet narwhal
# hallow prism the errors in log is wonderful to have too

the only unfortunate part of this is when you're doing subcommands but there's something in the game code that won't make it work properly, like positionOffset and showFrame requiring the move command or else the actors just walk into the abyss

#

honestly moving between programs would make me lose track of what and where i'm doing things even if it's all the same hud (i'm dumb like that)

#

SDVpufferthink time to dig for if there's a flag for challenge mines

paper sundial
#

There's a flag for if a player has reached the bottom of the hard mines, just not if they're active afaik

velvet narwhal
#

yeah i grabbed QiChallengeComplete because i imagine that's the part where the player has already gone and touched the shrine n stuff

paper sundial
#

Should work if you're only checking for the quest and not when the player toggled the shrine themselves

summer bobcat
#

What IDs would you use to get flavored wine or similar?

brittle pasture
#

if not, ยฏ\_(ใƒ„)_/ยฏ

velvet narwhal
#

oh i was told with fiery passion, that like a good chunk of people are awaiting the cornucopia artisan goods and the seasonal affixes SDVpufferclueless

drowsy pewter
#

?

velvet narwhal
#

i am clueless so i'll just relay the message

spice inlet
ornate trellis
#

did they mayhaps mean bagi-ish stuff

velvet narwhal
#
Cornucopia is the new version of PPJA More Crops and whatnot
they just released the Artisan Goods expansion not that long ago
but not all the alcohol....
PLEASE I JUST WANNA MAKE SCHNAPPS AGAIN```
ornate trellis
#

o

drowsy pewter
#

seasonak affixes.... what

velvet narwhal
#

maybe that's from something else

ornate trellis
#

what does that mean

velvet narwhal
#

probably Cornucopia is the new version of PPJA More Crops and whatnot this

drowsy pewter
#

i mean we have schnapps in the alcohol mod

#

so probably that

#

both me and mizu have been really busy though

velvet narwhal
#

no i understand wholly lmao

paper sundial
#

So most likely not being updated any time soon

drowsy pewter
#

oh

velvet narwhal
#

it came up in topic because someone contemplated sticking to 1.5.6 but still wanted compatibility for my mod

#

and i'm like, i'm pretty sure there's no backwards compatibility with what i'm doing

drowsy pewter
#

idk some people need to accept that their favorite mods may die when they update to 1.6

velvet narwhal
#

there's only so many of us with the willpower to port forward

ornate trellis
#

sometimes you cant have the best of both worlds

paper sundial
#

I thought all of my mods survived the purge, then one of them was absolved into the base game in 1.6.3

velvet narwhal
#

isn't that like, the greatest feeling of triumph though

paper sundial
#

My thought was more like: Welp, no need to fix bugs for this anymore

velvet narwhal
#

"Freedom"

paper sundial
#

It's definitely the best thing that can happen to make a mod obsolete though

hollow hazel
#

would this work? {
"LogName": "Seasonal Portraits - Portrait Load",
"Action": "Load",
"Target": "Portraits/Elliott",
"FromFile": "Assets/Portraits/Elliott_{{season}}.png",
},
{
"LogName": "Seasonal Portraits - Appearance Load",
"Action": "Load",
"Target": "Characters/Elliott_{{season}}",
"FromFile": "Assets/Walk.Sprites/Elliott_{{season}}.png",
}

velvet narwhal
# hollow hazel would this work? { "LogName": "Seasonal Portraits - Portrait Load", ...

after a good nap, i've realized the problems you're facing in terms of the loading code:
since you want seasonal and festival loads, you'd have to do separate "When" conditions for each season and have them separated
so when you're doing "Target": "Portraits/Elliott" you have to include the when condition of the season, and your fromfile has to be the actual file
it would then be "FromFile": "assets/portraits/elliottspring.png"

vernal crest
velvet narwhal
#

though someone else already gave a template for the appearances so i mean, to each their own at that point SDVpufferflat

lucid iron
#

the {{season}} token is gonna resolve to current season instead of generating 4 loads 1 per season

hollow hazel
#

i asm using the apperances template, the tutorial wiki says i have to load them too T T

velvet narwhal
#

base doesn't have those portraits so i imagine you'd have to conditionalize them yeah?

vernal crest
velvet narwhal
#

you can load those all in one rather than doing it like that

#

oh i thought they were back to doing the old load that hey had before

#

my bad SDVpufferflat

vernal crest
#

If you want to load multiple images in one action, you just need to make sure all your images are consistently named so you can use {{TargetWithoutPath}}.

vernal crest
lucid iron
#

also i notice earlier in your json that you have "Sprite": "Assets/Walk.Sprites/Elliott_Summer", but your load is targeting Characters/Elliott_Summer

hollow hazel
#

i am, im just slow to type lol

rancid temple
lucid iron
velvet narwhal
#

you can go even further with aba's example and circumvent separate character/portrait loads

#

assets/{{TargetPathOnly}}/{{TargetWithoutPath}}.png

#

it do get to be a blobby mess when you're typing them all though, so use with caution if you get lost in text

rancid temple
#

I thought it would be easy to make the crane game be able to spit out stacks of prizes, now I'm starting to think all the code was set to force stack sizes of one because this shit is broke as hell

velvet narwhal
#

i imagine it's not as simple as creating a "bundle" box, that's probably just more work than it's worth

lucid iron
#

I thought you can get 2 of the same item in vanilla game tho

rancid temple
#

If you get the same stuff yeah

#

I'm talking about like a stack of 5 items in one grab

#

Which like, depending on how I'm doing it, that'll work

#

But then if I grab three of the same item suddenly their stack sizes all become one

#

Or when I thought I resolved that, now their stack sizes are all the same but when I try to claim them, I get one from the first stack and then the following stacks just delete themselves as I try to grab them

hollow hazel
#

this better?

#

nope deleted ones sec

rancid temple
#

!codeblock

ocean sailBOT
#

You can embed code in Discord using a series of three ` :

Your code can go here
Even if not a haiku
Just an example

For syntax highlighting, add the language code on the same line as the first (with a space between, like json). The usual codes are cs (C#) and json.

hollow hazel
#

ah thank you

rancid temple
#

I'm wondering if I would need to combine the same items into one before putting them into the inventory

#

It's actually the ` that's on the same key as ~

uncut viper
#

you could try looking at how letters do it since they can hold multiple items

rancid temple
#

You can also just copy paste from that embed

hollow hazel
#
{
        "LogName": "Seasonal Portraits - Portrait Load",
        "Action": "Load",
        "Target":  "Portraits/Elliott_Beach" , "Portraits/Elliott_Spring", "Portraits/Elliott_Summer" , "Portraits/Elliott_Fall" , "Portraits/Elliott_Winter", 
        "FromFile": "Assets/Portraits/{{TargetWithoutPath}}.png",
        },
        {
        "LogName": "Seasonal Portraits - Sprite Appearance Load",
         "Action": "Load",
         "Target": "Assets/Walk.Sprites/Elliott_Beach", "Assets/Walk.Sprites/Elliott_Spring", "Assets/Walk.Sprites/Elliott_Summer",  "Assets/Walk.Sprites/Elliott_Fall", "Assets/Walk.Sprites/Elliott_Winter_Indoor", "Assets/Walk.Sprites/Elliott_Winter",
         "FromFile": "Assets/Walk.Sprites/Elliott_Spring.png",
         },

#

yay i got it

rancid temple
#

Just loading the same character sprite for now?

hollow hazel
#

yep doing spring to test

finite ginkgo
#

All the targets have to be inside the same set of quotes, otherwise it's not valid json formatting (ie "Target": "Portraits/Elliot_Beach, Portraits/Elliot_Spring, etc")

hollow hazel
#

ohh thank you

vernal crest
#

Also you still have your sprites loading to the wrong targets

rancid temple
#

Technically, if they use that same name in their appearance data then it doesn't matter

vernal crest
#

They need to be "Characters/Elliott_Beach" etc

rancid temple
#

If they try to edit the base sprite though, they need to use Characters

hollow hazel
#

so im targeting the in game file, not my mod folder

rancid temple
#

Generally, it's better to follow convention as it makes it easier help

#

Yeah, your Target is the game files

vernal crest
#

Yes, the Target is the game file. The FromFile is your mod folder file.

next plaza
#

@wanton pebble I've seen a couple reports on Spacecore with the timed trigger actions failing with date night, are you able to reproduce that? If so, does this fix it?

hollow hazel
#

can i do a separate load for the festival sprites? or do they need to be included with the base load?

next plaza
vernal crest
#

I load all of my portraits and sprites separately.

hollow hazel
#

thank you, much easier on my eyes that way

vernal crest
#

The only reason to load them together (that I know of) is to keep your code tidier and do a bit less typing/copying and pasting.

wanton pebble
brittle pasture
#

Hi @ivory plume, I'm currently working on a new page to replace or supersede the current wiki page on framework mods, since a lot of the info is 1.5-specific or not updated to 1.6 (including the new 'CP extensions' mods like SpaceCore).

The current page: https://stardewvalleywiki.com/Modding:Content_pack_frameworks
The new page I'm working on: https://stardewmodding.wiki.gg/wiki/User:TheSelph/Sandbox (my account can't make new pages on the main wiki at the moment)

please let me know if you have any thoughts, and if it looks good, how I would proceed with this. Thanks!

wanton pebble
#

My presumption with regards to the "failed to find the trigger action" portion of the error though is that it isn't your fault - I, in my infinite wisdom (read: my lack of foresight), had the action include the {{Date}} token. However, if there's no date, then the patch is invalidated, but the manual triggers still get entered in, which results in the log screaming

#

It's the repeating date reminders that happen regardless of the fact that the date isn't around that I wasn't able to replicate and am doing my best to see if I can replicate

next plaza
#

Oh. I took a look and wondered if that date token was causing the trigger action asset to refresh and SpaceCore wasn't detecting it properly

wanton pebble
#

yeah. If I get it reported again I'll let you know but that half is totally and completely my fault, and I'm really sorry if you got any reports on it

next plaza
#

No worries! I've mainly just seen it alongside existing reports - I did get one report today on it, but they edited their comment to be empty before I got to respond to it

rancid temple
#

Checking the list of items for matching items and adding the new item's stack to the existing items stack and stopping the new item from being added to the list seems to be an answer

#

SDV's random is deterministic or whatever right? Like it rolls the same stuff in the same context every time

next plaza
#

It depends โ„ข๏ธ

#

Some places seed a random, some places just use Game1.random

rancid temple
#

Hm, I'm using Game1.random but I seem to be getting the same number, it's a small sample size with a small variation

#

I guess I should probably throw in a log and increase the variation at least, see if it's just luck

royal stump
#

I think Game1.random is technically seeded for any given save + day?
seed = (int)Game1.uniqueIDForThisGame / 100 + (int)(Game1.stats.DaysPlayed * 10) + 1 + (int)Game1.stats.StepsTaken;

rancid temple
#

Hm, well I'm getting different rolls between opening the crane game

#

Oh I know why lol

royal stump
#

the number of times it's called before testing any given not-start-of-day mod function will probably vary

rancid temple
#

It creates the stack size only once

uncut viper
#

(not to be confused with the functions that generate a random thats actually just seeded by the day, though (and the games uniqueid obv)

rancid temple
#

It's only adding one item to the list to choose from in multiple places, this is entirely a me-fuck-up

sharp field
#

Is there a way to upgrade a tool in your inventory? (That or make clint finish right away)

rancid temple
#

Boy howdy is there

#

I will find the other persons mod, I'm not planning on updating mine unless they stop updating theirs again lol

sharp field
#

What happens if you have a tool currently in progress?

rancid temple
#

Not sure if they accounted for that, I don't believe I did with mine

#

If they just used the code I linked them to, then the normal amount of time would still need to run out on the tool in progress

#

Be an easy fix to just make it check when game is loaded though

hollow hazel
rancid temple
#

I'm slightly surprised Bouncer didn't block that immediately

next plaza
#

<@&239770080378880001>

round timber
#

already on it!

rancid temple
wanton pebble
#

Any time the validator tells you an issue is on line X, check line X-1

rancid temple
#

!vsc I suggest some software with validation

ocean sailBOT
hollow hazel
#

THANK

sharp field
plucky reef
#

MLM scam spam

rancid temple
#

It was some spam junk mail bullcrap

#

Funny to see it properly written though, usually things like that are scrambled to avoid autoblocks

vernal crest
#

Mlem

rancid temple
#

I've never been more sad to not have access to a Yoshi emoji

next plaza
#

There's also SDVpuffermlem

next plaza
#

@light jasper Had a report of SpaceCore's new "additional equipment" menu getting the UI Info Suite tab overlayed onto it - I think this is because it's rendering the tab whenever the game menu is open, even when there's a IClickableMenu.GetChildMenu() active. Is this something you would like a PR for, or would like to fix yourself? (Assuming you're interested in having it fixed)

#

(The armor icon being messed up is S&S side)

rancid temple
#

@next plaza are virtual currencies added to the farmer/team in a way that I can just attempt to make use of them if they exist? (in C#)

teal bridge
#

Last I asked about a fix to the UIInfoSuite tab about a week ago, he said it's not really getting any fixes because they're moving the whole UI to GMCM.

next plaza
#

@polar escarp Any chance Fashion Sense has a way in the API to allow overriding the slingshot pull back animation? Or do I need to patch FS like I do vanilla?

rancid temple
#

It's reassuring to know that I wasn't just blind and missing it lol

next plaza
#

Hmm, does pintail work with tuples

#

ie. something like List<(string id, bool isTeamCurrency)>

teal bridge
#

Yeah, the tab is going away.

#

I think Pintail is supposed to work with tuples; not sure if that includes named tuples or just the literal Tuple<> type. Or if SMAPI's version is current enough for it.

next plaza
#

Hmm. Guess I'll just return List<string> and have a method to check if the currency is team wide

#

@rancid temple

public List<string> GetVirtualCurrencyList();
public bool IsVirtualCurrencyTeamWide(string currency);
public int GetVirtualCurrencyAmount(Farmer who, string currency);
public void AddToVirtualCurrency(Farmer who, string currency, int amount); // supports negative numbers