#making-mods-general
1 messages ยท Page 77 of 1
like? Load: folder assets?
just use a warp on touch tile action on the map itself it should give you the warp animation and black screen on transition
haha, okay, thanks.
well if you're separating farms it's a lot more than that, you need to use the shadow realm and... basically re-implement the bespoke multiplayer, wouldn't you
oh, I think I got it
na you can port map to map
like this?
porting map to map is obviously fine, having multiple things that act like farms takes a bit more than just a tile warp
you can obviously create "farms" wherein players will all still spawn at the original farm and they can just build cabins on those other "farms", yes, but if you really wanted the actual "separate farms" you'd have to reimply the multiplayer
test it
ok
{
"LogName": "RedChicken: Sprites",
"Action": "Load",
"Target": "Mods/{{ModId}}/RedChicken",
"FromFile": "assets/{{TargetWithoutPath}}.png"
},
thereafter you refer to the chicken sprite with Mods/{{ModId}}/RedChicken
cant you use an absolute path as well?
yeah, I figured
this is assuming your chicken png is assets/RedChicken.png in the mod folder
even if you can, i wouldn't. who knows where your users might have installed their game (and therefore their mods folder)
not sure what is meant by absolute path here
hmm im actualy working on a multi farm mod any guides on this
my path is assets/Red Chicken.png , bc the vanilla pngs have spaces too
there are no guides on that bc its not something thats done
spaces are fine, i just dont like how they look
fair
i got handed a chore i can make a tldr of how i'd implement it in a few mins
sorry minds wandering just ment load asset from folder to folder and reference from the game folders
spaces in names for things (when allowed) occasionally cause headaches so i avoid them when practical
k ill fiddle with the concepts then lol
well u can make any map buildable thesedays
should i add custom pathing to my maps for npcs
so u could have a lot of locations that behave like farm
changing player spawn is different though, no idea how that works
aside from the tons of logic that involves the Main Farm being The Farm of course
so will this work then?
i would hope so, i got no intention to lie to you 
do what we all do test and pray
it's kinda confusing what it's loading tbh, I'm trying to load the whole assets folder(there are no subfolders)
and currently, there's just two sprites in it
you cannot load a whole folder
dang
need to load files one by one
yah have to target individual files within the folder
{
"LogName": "Spider: Sprites",
"Action": "Load",
"Target": "Mods/{{ModId}}/spider_1, Mods/{{ModId}}/spider_t, Mods/{{ModId}}/spider_p",
"FromFile": "assets/{{TargetWithoutPath}}.png"
},
can do this so that its 1 load
the {{TargetWithoutPath}} thing is the closest you can get
but still gotta type out each name
it means it will take whatever you put as your Target and chop off everything before (and including) the last slash
so e.g. it will become "spider_1"
[Content Patcher] Patch error: More Animal Varients > Sprites has a FromFile which matches non-existent file 'assets\Reshka.MoreAnimalVarients.png'.
well now I get this
I did this
the Target needs to be like what choooo wrote
also you need to adjust all the places that mentions the animal texture
but the "RedChicken" thing, I only have a png as "RedChicken", nothing else
I also need to load BabyRedChicken.png
then you'd write Mods/{{ModId}}/BabyRedChicken, Mods/{{ModId}}/RedChicken
as your Target
oh
i have this unreleased animal mod u could reference 
although, if u r add skin to vanilla chicken instead of adding a new red chicken then that's slightly different EditData
yeah, I'll get to skins after I figure out whole new animal
YES
so, just about everything is working, but I thought I set their eggs to brown eggs, but she laid a white one?
its always something lol
yeah, ok, I'm staring at the Brown Chicken's code, and I deffinately coppied that part right, so?
deviled eggs
Rhode Island Reds lay brown eggs (I owned some as a kid)
Have you tried it with a new chicken?
?
Just trying to make sure it's not like some code added after the chicken had already been spawned
you have the produceitemids set to 180 and the deluxeproduceitems set to 182?
This is a new chicken, I bought it, slept 3 times, and went inside the coop to fine a while egg
yup
well
I have this, which is the same on the Brown Chicken
eggitemid i'm going to assume is just what is hatched from
scroll down, should be this
i forget if you can build a cabin in a 'CanBuildHere' location 
canbuildhere can be any outdoor location but cabins must be in an AlwaysActive location
ah, that'd be the workaround instead of reimagining bespoke then
find tile to warp (or spacecore totem) -> data/location new location canbuildhere/alwaysactive/canplanthere
you still wont have any of the logic to treat the other maps as The Farm for things like perfection, farme vents (getting a pet/cave), patios, etc
yeah, it'd just be a "enjoy walking all the way back if you're forced into a farm event, sucker"
alternatively; minecart to other "farms"
Probably because your red chicken is going to be added later to the dictionary of animals, and it returns the first match
Is it possible to add a custom sound, then play it from specific tile via CP? i.e. a radio whose music can only get clearer as you walk near it.
mmmm
@sweet sphinx You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!
lol, cool
Trying to think if I've ever seen this in the base game, I don't think so
Don't even know enough about how the sound/music works to know how hard it would be to do in C#
perhaps making the red chicken as a skin will allow it to get added to the pool of brown egg hatches?
yeah it's a game limitation. one animal type per egg
i went to look at the waterfalls in the forest but they dont seem to have any tiledata so its probably a hardcoded thing
also i might be totally making up a memory of waterfall sounds in the first place
guess you're making that red egg
not rly, Blue chickens can hatch from white eggs iirc
but they lay white eggs??
yep
yes, which always hatch into white chickens
ugh
you can only purchase blues
animals can produce whatever item you want
you can play sounds tied to a tile location via C# but i don't know of a way to do it with CP
doesnt even have to be eggs
maybe MEEP? but spacial audio is probably a game limitation
Yar, waterfalls spacial audio is done via BrookSounds map property.
(there is a framework mod that will allow multiple possible animal types per egg, but that's advanced territory ๐)
damn, then maybe I'll make Red's a skin, and make Red & Blue eggs, bc that's bunk that you can't hatch Blues
yeah there's a blue eggs mod
i guess you could just copy the BrookSounds map property into a custom map property for custom music
could probably turn that into a thing for one of the frameworks that does map tile stuff
so, not it!
yeah lmao which one, there's like four or five now
Yeah, if the base game does it then it shouldn't be that hard to make a CP functionality, even if it's just adding a map property or something
i guess it might be a lil more complex if you wanna turn it on and off like a radio
just a lil tho
wait is it using vector2 to set the position of the audio?
{
string[] sounds = this.GetMapPropertySplitBySpaces("BrookSounds");
for (int i = 0; i < sounds.Length; i += 3)
{
if (!ArgUtility.TryGetVector2(sounds, i, out var tile, out var error, integerOnly: false, "Vector2 tile") || !ArgUtility.TryGetInt(sounds, i + 2, out var soundId, out error, "int soundId"))
{
this.LogMapPropertyError("BrookSounds", sounds, error);
}
else
{
AmbientLocationSounds.addSound(tile, soundId);
}
}```
ok, so, ig the next step for me is making skins
yes. positional audio is already a supported thing
interesting
Maybe I'll take a look at it tomorrow, I just realized today that I can't actually release my crane game mod early because it's relying on an unreleased version of SpaceCore lol
so, I'm guessing this is code to add a chicken skin, but I'm a little confused as to how it works, it seems like so little compared to what the vanilla code looks like for Blue & Brown chickens?
that's cause it's targetting the white chicken's skins directly and requires less
I'm curious what feature you're using from 1.26
Is this a mod that you wanted to do for the contest?
do I, like, add the egg modules so the Red ones lay other eggs?
Nah, this is the mod I've been working on for a while that de-hardcodes as much of the crane game as I could stomach
I'm using the Api stuff for virtual currencies
wdym egg modules?
if you want the red chicken to hatch out of it's own egg, you have to create the new egg in data/objects and then attach that to the eggid
yee
(and also set it to produce said eggs in (Deluxe)ProduceItemIds)
skins just randomizes that the white chickens might sometimes come out red
Huh, that's not out yet?
Man I've been holding this update longer than I thought
Uhhh, I didn't think it was but I'm definitely likely to be mistaken lol
but, the code you typed doesn't have any place to set what egg they lay/hatch from
the original one with targetfield just puts your red chicken "sprite" into the white chicken data
(Unlockable Bundles also has virtual currency feature in case you're fine with some migration and you want it out now~~ for the contest~~ not a contest mod, just backread lol)
oh, so like, then do I need both the skin & the whole new animal, to make it work?
no, you can do both, or you can do one or the other
skins was just an option because it's less work than creating a whole new chicken
you don't need to, they'll just sometimes be red upon hatching
that's what the uh, chance is
the "weight" field
yee, I thought that was for when you'd buy a chicken tho
it's kind of like a 1/3rd chance cause iirc it's already fighting brown chicken on weight
well, now I'm less confused, but I am stumped on what I want to do now...
white chicken? brown chicken? red chicken? upon purchase and then from there, if it's a white egg = white chicken? red chicken? upon hatch
skins work for both purchase and hatch
so..., if I change it to skin off of the Brown chicken? can I do that?
you can put the skin in both, yes
can I do only Brown?
yes, and then the brown chicken if it's chosen in the random purchase has a chance then to be red or brown
cool
Inb4 people ask for AT version
Oh yeah, I always forget that
I don't like AT, personally, I want automatically random skins, not having to paint my stuff
plus it's nice to not know exactly what you're gonna get
Does it not do random? My cat is always random lol
for what it's worth, AT has a setting that randomizes from available textures
It's so random, in fact, that the cat that Marnie shows up with is not the cat I end up with when the event ends
i don't remember if it's the default; i am also not an AT user
lol
hmm, this json will get long rly fast as I add skins and animals, is there ways to slice it up into multiple jsons, so each animal/skin group will have it's own file?
Feature request: farm bot commands to link to CP's docs lmao
I live on these docs :P
true
i just type "incl" in my address bar and it auto fills
Button must have been occupied, usually I'm beat out by her :P
why did witch's cat bat me. what is this about
you got got
witch cat also gave you a treat at some point earlier bc i gave you one for doing the giga^2 maze
oh no
oh i think i went and necro candy'd the usual suspects in making-mods before the narcs came around
(i had a spoonful of ice cream ready to go, getting cp docs isnt worth letting it melt away)
This has the same energy as dubloon-tok (the trick or treat thing lol)
i tried to sneaky trick blueberry earlier and then it turns out my trick was the very first thing in the tattle tale channel
has anyone else finished that one? i keep checking from time to time but haven't seen any others
how would u even tell
/stats
i think its just you, me, and endertedi
how's this look then?
unless you meant the gigamaze, then i think button lives in there to lurk the maze-hell
the content one will load everything, and the other jsons will have the animals/skins
that looks fine I think
its the channel ive talked in second most, behind this channel
hmm i thought endertedi only did giga giga. i must have missed it
in my quest to find the latest spacecore build, i noticed bluebs goes into town square, that brave soul
(oh... you're right actually, i misread it. oops. free treat for tedi)
(balance restored)
Is your ChickenSkin.json in the same folder as your content.json?
relatedly now that ive submitted my contest entry i almost feel like i dont even know what to do now. my momentum from custom museum framework is lost now
and its too close to 1.6.9 to wanna go back to it yet
New mod
wouldnt u just develop that on 1.6.9
i paid my debt to chu, i got mothman SiD fix
and my mod took me longer than i thought so i have less time than id like for my art entry so i might just submit something super simple 
at the time i was doing the b ulk of it, serialization was weird, and i neeed that, so, its been 1.6.8
i'm working on a pet project. there's no way to shoehorn it into the mod contest, even though i expect to finish it before the event ends
Then your FromFile is wrong
oh
huh u needed to register custom save type 
just add a gravestone
well Monsters is a theme, which is probably the broadest one
i think it got fixed at some point
custom gamelocation!
FromFile is a path description to the file you're trying to include, based from where your content or manifest.json lives
would it be assets/ChickenSkin.json then?
with custom netfields nd all
right yea 
If your ChickenSkin.json is in your assets folder, then yes
less work than trying to unhardcode librarymuseum to be generically usable
well it should be fine to go to 1.6.9 now
also yeah the serialization WAS fixed pretty quick but like i did the bulk of the work in like.... 2 days
unless u r targetting a 1.6.8 release for some reason
absolutely not
I am treat less, but the Spirit Eve ambience is turning exquisite
button just wants something else to fixate on that isn't the museum
I am getting carried away
i actually completely forgot i was gonna test my contest entry on 1.6.9 oh no
Is your character wearing a cone of shame?
ah no its a face mask vv
is trinket tinker even out yet, i cant find it on nexus
My god I spent 30 mins finding that I missed 1 "{" in my code and made my mod 100% fail.
OR MY ATTEMPTS AT ONE
Oh ok, I can see that lol
no but there's trinker docs https://github.com/Mushymato/TrinketTinker/blob/main/[CP] Trinket Tinker Examples/data/lerp/trinket.json
betrayed by my bluetooth keyboard
๐
You should use VSC or Notepad++ with the validation plugin, or even just the validator site
I have notepad ++
i have no trinket ideas right now 
i took the flyswatter, sorry
im not the "come up with creative ideas" type im the "write code to help others come up with creative ideas" type
I don't use it, so I have no idea what the plugin is called or where it's located, but I've been told that there's a plugin that lets it validate json
whatever the exact opposite of an idea girl is
girl boss?
girl code lackey
you say that then add a xylophone dungeon in the contest entry
one movement idea from like
technically i DO need to fix my one book for my books mod for 1.6.9 but ugh. work
initial discussion i didnt end up doing properly is the squid like movement
its a xylo_bone_ thank you very much
u can sort of do it with lerp and some wacky amounts of jitter though
you're getting the bonk for that
but i didnt get anim timing quite right
and it was a much pared down version of my initial idea was to do a sort of roguelike dungeon thing with Spacecore's dungeon feature buuuut. i quickly realized that was biting off more than i could chew in such a timeframe
Time to figure how ze buff clothes work with spacecore 
rip my initial name for the mod "Skeleton War"
ah god i hate the royal serpent thing
oh i love how the serpents move tho thats not too specific at all
like the dragon summon from terraria
i would love that on a trinket companion
i do think the thing i made for repeating motion could fake it
i hate fightin' em 
but hm doing it actually would require a rigging system of some kind i feel
that's what updates are for
yeah same, I want a questline for my current entry but my map making/NPC/spriting/dialogue skill is deficient, so I'll just settle with the uh dimension of infinite torment as the questline climax
I'm having trouble conditionally changing the spouse room on rainy days. My most recent try involves loading both rooms separately and then patching the rain variant on top in the disposition data, but this just causes the rain variant to show up all the time and when the sunny one is supposed to appear, it shows as the default Abigail room. The only thing I haven't tried yet is to load both rooms from the same tmx but before I spend time doing that, is there something I'm fundamentally mistaking here?{ "Action": "Load", "Target": "Maps/AmalurMarriageSunny_SpouseRoom", "FromFile": "Assets/Maps/AmalurSpouseRoomSunny.tmx" }, { "Action": "Load", "Target": "Maps/AmalurMarriageRainy_SpouseRoom", "FromFile": "Assets/Maps/AmalurSpouseRoomRainy.tmx" }, { "Action": "EditData", "Target": "Data/Characters", "Fields": { "Amalur": { "SpouseRoom": { "MapAsset": "AmalurMarriageSunny_SpouseRoom", "MapSourceRect": { "X": 0, "Y": 0, "Width": 6, "Height": 9 }, }, }, }, }, { "Action": "EditData", "Target": "Data/Characters", "When": { "Weather |contains=Rain, Storm, GreenRain": true }, "Priority": "Late + 100", "Fields": { "Amalur": { "SpouseRoom": { "MapAsset": "AmalurMarriageRainy_SpouseRoom", "MapSourceRect": { "X": 0, "Y": 0, "Width": 6, "Height": 9 }, }, }, }, },
maybe a smurt way will come to me
bold of you to assume i was at all thinking beyond november 1st with this mod
i didnt even make the happy halloween message check the calendar
!json you should use the validator for big blocks
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
(but tbf this is mostly bc i dont know exactly when the mods will judge it)
iirc the spouseroom needs like, hard farmhouse patching, right?
Spouse rooms are only patched on I think save load
If you want them to patch during gameplay you have to patch the farmhouse with the spouse room
which might look extremely wrong if someone has a custom farmhouse
I assumed that was the case but didn't want to believe it, thanks for the confirmation
thats a mood
I think there was some kind of issue with that too, I need like a permalink to where Aba already went through this lol
i feel like both the farmhouse and the community center need "abandon all hope ye who mod here" signs
We're not a good shield lmao
you fool, pathos is mod authors
dont need smapi mobile if no one makes mods that work on it anyway
he is both, and all
We don't have to look at his mod comments sections, truly he is sheltering us from them
Can't really make the mods if the SMAPI doesn't exist but if there's not enough demand there's no way someone is gonna make and maintain the SMAPI for it
@quaint moss Avi found Aba's hack if you want to continue this route
highly incompatible with custom farmhouses so be warned
i wonder if just forcibly calling FarmHouse.loadSpouseRoom again would make that problem go away
it might even break in 1.6.9 because of THAT STUPID BEAM IN THE SPOUSEROOM
Calling to reload the spouse room whenever you enter the map would probably be fine
Even with a poly mod, probably on time changed would be fine lol
time changed scares me
Dunno about anything more frequent though, asking for trouble
do u think sdv should get another polyamory mod 
It has like 3 doesn't it?
well one is coming out soon
Maybe I am just losing it... I spent 2 hours wondering why a map didn't load when a flag happened......... it was false in the config
just adding it into FarmHouse.resetForPlayerEntry would be good i think
wow really
i wanted to make another poly mod a while back but gave up on that when i heard someone else already was
There's Free Love, polysweet, and EnderTedi's WIP one
the specific thing i was thinking of is a polymod where the spouseroom is optional
!fourcakes
(a while back being like... may, so way before i had the technical knowhow to even do it if i tried)
and u can sleep in the spouse's house if u want
oh tedi's making one guess i'll finally have a reason to Romance Them All
That's not really a polyamory thing - some mod authors let you do that
the main thing i wanted from a new poly mod is multiplayer support 
Honestly, a complete overhaul to the relationship system where the NPC doesn't lose their entire personality would be so choice
I know S&S lets you for Hector (and maybe the other two spouses)
wdym multiplayer support
no but most of them force spouse room right 
that is the actual thing i want to make optional
my partner and i cannot marry the same spouse with our current poly mod bc whoever marries them last wins
is this like when I stole Krobus from Kailey
most likely
can you just repeatedly marry them
like if you just give them another pendant
Every 3 days a marriage event
and id never get anniversary dialogue
):
Co-opetition at its finest
move aside marriageDuties, here comes the new marriageCertificate
plus i was tyhinking itd be nice if two people married the same NPC that theyd go back n forth between the cabin and farmhouse sometimes
i thought this is also already a mod though
mod that makes npc do their og schedule
I still think it's funniest if this is accomplished by handing off a pendant every week or so
just be like "nooo it's my turn with Abigail"
Oh is it? I've been super slack in looking for mods since I started making them :P
(or whoever)
SpaceCore has a feature to let your NPC ignore marriage schedules
(she's alphabetically first so she's the generic test NPC)
(or at least that's my theory)
Notably, polysweet probably breaks with it
seeds: $500
tool upgrades: $2000
clothing: $50
marriage pendants: $500000
furniture: $3000
someone please help me budget this my crops are dying
(EnderTedi's poly mod works with it though)
I think you should give up furniture Button
maybe also tool upgrades
those don't seem that important
surely this will never cause problems
use astraios' spouse incomes
you're right, i can move their budget to rain totems
clothing is free just bonk shirts out of slimes
to buy more pendants
also don't buy seeds, just steal them
now theres a mod idea
and increase the clothing budget, you need to dress up for all these weddings
I'm very good at money
nope that was an xkcd bird thought, i don't know if roku was even close to finishing that crow-building
was contemplating the crows dropping seeds
yes I can donate to the "get married every week" fund
ok ill send you my gofundme
I can contribute a lot of extremely questionable wine
salmonberry wine, umilled rice juice, hot pepper wine
snail wine
I'm definitely not close to that lmao
weeds honey
okay but hot pepper wine sounds good
I don't think my taste buds are built that way ๐
i dont know i dont drink
I'm no wine-ologist
Quick question. Can the LockedDoorWarp Action tile not have a time requirement? Or do I need to put one in in order for it to work properly?
otherwise its just a warp, no?
truly appreciate another unmilled rice juice enthusiast
a delicious beverage with no questionable aspects
I want the door to have a friendship requirement but not a time requirement
try 0600 to 2600
oh then in that case yeah go with all day time
it's technically locked if it's outside those hours!
Time is required, friendship isn't lmao
aka never unless you have a mod that messes with time
isn't that just rice milk
i wouldnt want a friend waking me up at 5am
unmilled rice juice sounds more like a health food
Mmk I'll put all day time. Thanks!
rice milk sounds kind of good
my cats wake me up at 5am anyway what's the difference
noooo bad kitties
But barging into Elliott's house at 6 AM and handing him a gift is like my favorite passtime
actually
if you EREALLY dont want the time thing
there is ConditionalDoor
for use with a GSQ
is this the answer to the age-old question, when is a door not a door
does that have the ability to show an error message saying why?
too bad, a man with blue skin sold me the keys to your home
when it's a fence
when its conditionally a false door
a door is not a door when one of a million finicky door things isn't set properly
like the tilesheet being exactly right
or the tile properties
it does actually let you specify a tile property message
oo fancy
god i am too stupid to redo doors and that's what's been stopping me from working more on my expansion idea 
yeah doors are pretty loathsome
ConditionalDoor <GSQ> and LockedDoorMessage <I think a translation key?> on the same tile i guess
every so often someone comes in sad about their doors and I'm like "doors look like they suck"
Is that a tile action?
are those what are checked in performAction
Doors are pretty heinous lol
it's like, 3 layers?
i tried 2x2 doors a couple years ago and it sucked ass
personally I pretend they do not exist
buildings, front, object-buildings
if Tile Actions are the things on the Buildings layer then yes
that's a future me problem
I'm not finding ConditionalDoor on the wiki, trying to determine where it should be lol
same switch statement as LockedDoorWarp
doors are like pants. pointless, stupid obstacles to my day
aka the distant future when I actually make modding progress
oh. is it not there? i just looked in ilspy
pants I have fought to a standstill
so my buildings do not have doors. sweet freedom of movement
doors are a foe I have not yet faced
I have a heinous python script that could use some updating and a disturbingly thorough image documenting frames of pants
outdoor -> indoor doors are fine, the interior doors that are locked behind friendship? makes me 
In the decompile it's like lines 3919 and 9531 
i assume you're not looking at that function directly!
or looking at it in VS i suppose
I'm looking at the entirety of GameLocation in VS
this is why i prefer ilspy for quick searching :p
ConditionalDoor is apparently a touch action as well (the kind that go on Back tiles)
Rider is pretty good but it does get a bit slowish when loading a huge file
so it is
Which, that's kind of misleading :P
is it? it'd still do it when you touch the tile, no?
Well when you walk onto the tile, rather than click it
whats misleading about that?
I don't tend to think of doors as tiles I stand on lol
trapdoors!
Fair
in what world do you use a conditional touch door
sewer entrance
is this for like, a secret cave that opens up
that was just another example not an answer to blueberry but it could be
I would still make that an action lol, simply because the game sets up the premise that you have to click doors to use them
you'd need a lot of set dressing to make it act like a trapdoor though and not a random warp glitch that plays door sounds
put another touch action on the tile it warps you to that says "Ouch, you fell!"
actually conditional touch door fits into lumina's idea of pedestalled dungeon
the stock door sound though, that is a shame
I wonder if that touch action would trigger from that
you could conditionally patch the sound effect on location change but then its stuck for the rest of the game right
until next launch
or am i misinterpreting that line on the wiki for like the 7th time probably bc i keep forgetting
patcth it again after 
the fact that that makes sense makes me feel like i must be misinterpreting it
That is CP
Make new actions and touch actions that accept any sound you want
In c# you just stash the old cue in a field somewhere maybe
i was trying to think of a way to use this just in CP
because if you're in C# already it does not matter at all that conditionaldoor exists
"Is there pho near me"
bc you can make any action you want
Night!
Snail...?
Honey
too much ff14, i immediately said "bee"
queen bee my beloved
ah yรฉs bees and honey, from the game ff14
queen bee raid mechanics in the next whatever the stardew arcade game is DLC
exclusively
the one with the cowboy
no it's specifically the splatoon nyoot noises from the damn bgm
why am i completely blanking on the cowboy arcade game name i keep wanting to call it Junimo King but i know thats Not It
PRAIRIE KING
prairie king?
Journey of the Prairie King
first try
The... Splatoon noises, from FF14???
Oh I played junimo kart for the first time yesterday. Dislike!
Too hard
yes. its raid music! its good
i play too much Junimo Kart i love it
i already linked roku to it
So hard
just download my books mod to get the cheatcode bookโ
your books mod has prima strategy guides??
I had to play it for a few hours to get good enough to beat it for my partner, I wanted to die
close it has those "Book of 2000 AWESOME cheat codes!!!" booklets you'd get at scholastic book fairs in elementary school
does it have a really terrible joke book
god i think the first guidebook i bought was from radioshack
blueberry ill be totally honest with you
i dont remember all the books in my mod
its been months since ive even looked at it
you like reading huh? name every book
Waiting for Godot
1/?
That's it. That's all the books
yeah i did it, what do you mean "?"
button gonna make the 5th poly mod and it's the form of a book, "Defy Not the Heart"
1/1 ๐ฅณ
I'm trying to make a custom warp totem via SpaceCore which costs 1 of any flower to craft. That part works perfectly, flower is consumed and totem is created. However, it's showing up like this...
Any idea how to fix?
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
"any flowers" isnt a supported category in vanilla
only veggies, fish, eggs, milk
spacecore allows it though right?
Ah so I need to use spacecore for the recipe too?
yesh
ok
(technically, it's not that it's not supported - any category IDs are supported in crafting. it's just the hardcoded display names don't have a branch for flowers)
This is my recipe code:
"Action": "EditData",
"Target": "Data/CraftingRecipes",
"Entries": {
"{{ModId}}_EnchantedSpringTotem_Recipe": "-80 1/Home/{{ModId}}_EnchantedSpringTotem/false/default/{{i18n:Object.EnchantedSpringTotem.name}}"
}
},```
So yeah I'll figure out how to do it with spacecore
is it necessary to have i18n for my mod, or is that just for in case it's ever translated?
tokens/translation is pretty much it
i18n makes it a lot easier for translaters, yes. i like to include it even if my mod only has 1 or 2 lines
you can use i18n for yourself for extra things like easier randomization of dialogue and such too
you dont need i18n for it but it can make it easier to parse
it's much easier to use {{Random}} than it is the input separator imo
even outside of translation, it pleases me to separate the player-facing text into one place instead of being scattered about
also if i'm doing heart events and i miss a number somewhere, it just throws a 'no translation <key>' for me, and i know where to look for the dumb thing i did
i... think i need an example of how recipes using spacecore works. anyone know of one?
this adds a bunch of them https://www.nexusmods.com/stardewvalley/mods/26650
thanks!
look at recipe_replacements.json, it overrides a bunch of its recipes to support context tags/category ingredients
Gotcha now it's making more sense to me
๐ i'll worry about i18n after my mod is actually working
Does ConditionalDoor do anything...?
Like the touch action I guess
The action definitely does, but the touch action, if the GSQ matches it... breaks the switch
Maybe it's a feature that just didn't get implemented properly?
it would work if you negated the GSQ and checked the opposite
Well except that it still isn't doing anything
oh, hm
Should either be a warp or something like it there
well.... it'll tell you its locked i guess! thats technically something
Lol
but yeah, it seems like that should be the same openDoor and return
LockedDoorMessage Don't touch my door
worth bringing up i think, tiny change anyway
romanceable npcs generally have heart events for every 2 hearts they have right?
For the most part, yeah. though you can add more if you want to
(tho roku did you check that its still broken in 1.6.9? i assume you've been working in 1.6.9 anyway but im not, so, just double checkin)
I'm gonna do some actual tests and make sure I've got the latest decompile and all before I bring it up
fair, so long as you remember that 1.6.9 is only like a week away :p
Yeah, ideally if I can bring it up tomorrow maybe it can be fixed (if it will be) in the nightly build lol
Hello friends, does anyone perchance know how one would go about spawning a farmer npc (spawning another player that isn't being controlled by the player basically, that is if this is possible.)?
what reason do you have to want to?
i dont think thats something you can just "go about" doing
as with all things, Anything is possible if you throw enough C# at it
yea
I'll see if I can maybe trick the game into thinking they're farmhands or something
thanks thou
Same issue, you could make a dummy NPC
yea
But I dunno how you'd make them look like the player without C#
specifically a dummy NPC not a Farmer
yea
The way farmer's are built from their various paper doll parts also causes an issue in that regard, since you aren't just copying a spritesheet
Knowing what you're trying to do would definitely help in regards to determining if there's another way to do it
Yeah with the fake player/dummy NPC
godspeed to you soldier, not even my most extensive mod has 2800 lines
Hm, yeah I mean in C# you could determine how the game is drawing the farmer and recreate that yourself, but it's gonna be pretty involved
I can do that.
I mean, you could just new Farmer() and render that
!decompile if you haven't
If you want to make SMAPI mods with C#, one important resource is decompiling the game to read the game code. Here's how to do it: https://stardewvalleywiki.com/Modding:Modder_Guide/Get_Started#How_do_I_decompile_the_game_code.3F
that... works?
I tried that, but maybe I did it wrong
Because I am pretty bad at programming lol
It might not layer properly behind things depending on when you draw it
I'm still trying to avoid messing with draw logic lol
watch my dialogue slowly become single sentences...
Tornado occurs, Lewis: Well, that happened... Anyways
(i must be dumb thats like the 5th time ive hovered over the candy emote react to try and see who gave it)
xD
Lmao, me too
i checked those too but those were ON PURPOSE just in case one of y'all was bein a jokester
ooOOOooooOOOOo who did iiiiit????
lurking chu 
not i, i'm busy playing rhythm heaven in honkai
It was me I did it
i think im really bad at trig
what are you trying to trigonometrify
Is anyone good at trig?
are you making the serpent with a sine function
no im still trying to make this bounce motion look better
i consider myself decent at trig but i also took extra calc courses in uni for fun so i think im an outlier (i forgot all the extra calc)
but hm i think my problem is that i did this all wrong
it should have been IK instead of FK

i might be
the spooder will just look kinda bad i guess
until i come back and make the targeted leap motion
Why did I leave all the drawing for last
now I just have a bunch of drawing to do.
Why does all my modding involve so much drawing anyway!?
have you looked at any easing functions chu
see i did the drawing first 
not really
may be worth lookin at
i wrote uh whatever this is for the squash
float thetaF = (float)Math.Max(Math.Pow(Math.Cos(2 * Math.PI * theta), 5) / 2, 0) * args.Squash;
I started the drawing first but you are a speed demon and I am a tortoise who is not actually winning the race
i dont remember the logic behind this anymore but it looks alright 
Before I do additional drawing that I don't have to do: the cauldron smoke effect is C# right?
but the IK/FK thing i was talking about is that
i mean looking good is more important than it being mathematically good i think in this case 
rn bounce is an offset from the anchor
which make sense cus it just extends lerp
when u look at a jump while player is moving closely
the trinket changes direction midair
bc it's final position is also moving
is there smoke thats separate from the bubbles or do you mean the bubbles. i see an addCauldronBubbles function
i needed to do IK (decide target and derive path) instead of FK (get target from path), to borrow some rigging words
This stuff. I would not call that bubbles...but maybe it is?
inverse kinematics is where my brain checks out so all i can say is good luck
it's not a real rig at least 
maybe? smoke bubbles
whatever this function is drawing is somewhere in cursors, around x372 and y1956. that may be a smoke bubble
but yea bc the current impl looks quite good with dust sprites i dun want to change it too much 
i think you have to fake it aba, with animated spritesheets
if no C# i mean
unless whatever u are targeting accepts TAS
Nice when I can get something to work the way it should.
Now I should go sleep....
Thanks Button, I will add "make C# smoke" to my "try later" pile
That'd probably be a pretty easy thing, right?
Suitable for babies?
SpecialVariable == 388859 
considerin the code already exists, id say so
its just a TAS yea
just need to change the tile location and colour
i wonder what is like
TAS = tasmania, right?
the deal with these SpecialVariable values
relatedly this is how i found out you can make the cauldron bubble up more by clicking on it
tempanimatedsprite
what is generating them...
SpecialVariables?
i think those are just like. random misc number storage
they r always flagging some thing or another
Hey, I might just be dumb but I'm trying to render my new Farmer() and it's not appearing? I'm using farmer.draw() post render with Game1.spritebatch, am I doing something wrong?
i assume no one's like, going in and putting 388859 by hand
so it's not clear why these values are what they are
atra might say, "compiler things" and handwave
Argh security questions that rely on subjective things ("what is your favourite movie") are the worst. I have no set favourites! Leave me alone!
And then objective ones are easy to find out
Terrible
Security questions period are idiotic, they are simply weaker passwords.
Agreed
I have not entered a real answer into one of those in over 10 years.
if you just generate another random password for the security questions, does that count as 2fa
(/j)
That's not far from what I actually do.
I guess I could put the answers into bitwarden so I can remember them
Not that I'd call it 2fa, obviously.
Yeah, rather than legit answers, I just have set answers I use for those lmao
Yes, unfortunately that is weak security on its own, though it's better than easily-guessable answers. At least most of the time they have enough sense to enforce them in addition to a regular password in a misguided 1.1fa scheme, but when you see those security questions being used for account recovery, run the other way.
Oh right, ConditionalDoor action isn't even a warp, it's for interior doors lmao
oh. oops
So I guess the touch action would be like a button
hi
in my defense i dont do map stuff i just saw it was beneath LockedDoorWarp and just assumed they'd both warp you
oh is it used for the volcanodungeon?
actually believe it or not
the only usage in vanilla for conditionaldoor is in the adventurerss guild
i guess it could theoretically be added when randomly generated in the dungeon maps
but thats the only instance in a .tmx itself
It also has no condition, so it will never open???
it does have a condition
Or will it always open?
1000 monsters killed
i dunno i just set n++ to search in all the tmxs
you might be looking at the touchaction one
it seems there are two
one is TouchAction, which has no condition, and one is Action
Oh, I am indeed
which has a condition
I didn't know that game had text file search functionality /s
great game tbh
good couch co op fun
(i also didnt see any reference to ConditionalDoor elsewhere when searching the decomp so i guess that is the only place)
Ah no wonder my LockedDoorMessage kept throwing errors, it's one of those cursed path references
Is it possible to get working chairs on the spouse patio via Data/ChairTiles?
probably
until a farm map moves the patio
You'd also need a separate patch for every vanilla farm type
Or, every one that has different patio spots
tbh id probably just have the spider not change direction midair
Yeah, that was a little off-putting to me as well.
as mentioned previously, the implementation cant do it
ill have to change the base motion from lerp (follow player) to dart (pick spot to go to every X second)
I guess it doesn't really understand "Z"?
Eh, seems like normal video game behavior to me lol
i think i misunderstood what you were saying originally then, my apologies
It's normal video game behavior to bounce off the edges of the screen, but not so much reversing in arbitrary places.
unless you're a player with mid-air movement
problem for laterโข๏ธ
Is the lerp behavior your own implementation or relying on some game script? If it's yours, just add commitment.
I didn't realize Data/ChairTiles was based on tilesheets
yea it is my own i am just slacc
That should make it way easier to make chairs for spouse patios
I had assumed it was based on like maps
chair tiles are some special bs though
does it specifically look for a tile that matches a tilesheet coordinate and not a tile coordinate?
neither map prop or tile data, its own model
One could argue the text glyphs are a tilesheet in a way
They are, they just get special treatment.
Everything is a sprite. Maps are sprites too.
i thought some glyphs were made with splines
https://stardewvalleywiki.com/Modding:Maps#Sitting_on_non-furniture_chairs
Yeah, it's also a string format data asset
and weird math
...fine, not everything, just 99.9% of the things. It's technically possible to emit graphics in MonoGame with shaders/effects.
what a strange data asset
i now remembered why i didn't make the couches sittable, i didn't want to figure out how to finagle it
thinkin about this has me wondering what the most niche thing in Content/Data is for mods to edit
or to want to edit
monsters
Monsters was pretty awful, I've gotta say.
oh my brain saw niche as "pain in the ass"
monsters has loot tables thats good stuff
monsters isnt that niche it's just kinda useless and there's ftm
naw niche as in "people will rarely ever need to edit this"
achievements?
How about IncomingPhoneCalls
can u add custom achievements 
i think you can add your own achievements... so long as you dont care about making them steam ones? i guess
i saw someone add to IncomingPhonecalls once
i think the new SVE update has it
MonsterSlayerQuests
id be surprised if no one has edited monster slayer quests tbh that also seems like a good and easy one to edit
Because Perfection.
oh i just realized i could commit crimes with random bundles
but like, who's out here making more mannequins?
casey
has Casey made a mannequin
True. I'll probably go with makeover outfits as the most random/niche thing, it's literally one mini-event in the game.
i don't know but there sure are a lot of mannequins every time casey puts up a test video
im gonna make sure i edit MakeoverOutfits now for my NPC mod
I mean, I helped write the base game code for it, so...
if i conditionally patch it to empty the entire list i can guarantee that you can get my NPC's outfit as a makeover outfit one day
Hey, I've been working away at my Farmer thing, but I can't seem to get it to render, you're supposed to call draw on the farmer at Rendering, right?
GarbageCans looks tantalizing.
that doesnt count!!!
I had the pre-1.6 mannequins, does that count?
did Data/Mannequins exist back then?
Nope
instant disqualification
just propping you up on the leaderboard
I have 2 tricks and 2 treats
Bats are tricks? I don't understand this particular event.
I don't think I'm making the leaderboards
(also idk the answer to the Farmer thing)
what is a good way to obtain random point in this zone
given min radius max radius and a theta
Random angle + random radius
^
It's just a polar coordinate, same as you'd do a random (x, y)
obviously you need to take the radius of the circle and act as if its a square, generate a random point inside a Rectangle with the width and height set to that radius, check if that point is within the area of the circle, and if not, discard it and generate a new one
is this a ref to something specific 
Only if it's used for fishing.
no its just me giving you great ideas
i dont know what the deal with fishing is i blocked fishing code from my memory
That is actually how parts of fishing work.
fear
Pick a random tile, check if it's fishable/splashable, if not then try again a few times...
I thought that's what you were referring to.
no i just enjoy giving incredibly obviously inefficient solutions and/or bad ideas to nail problems that can be solved with a simple hammer because i like trying to hammer nails with nukes instead
Thought my mod was done but whoops they're still wearing their costumes after the event XD I just flew back from a trip earlier today and it's after midnight so def a tomorrow problem haha
It's also sort of how you draw a circle in a shader, minus the randomness.
"and where does the triangle go? IN THE SQUARE HOLE, THAT'S CORRECT"
(Take a rectangular region and just exclude everything that's outside the circle radius.)
tbf, this is my attitude towards making transpilers for everything
when is calc gonna come up in modding
Hopefully never
basically all the time
are you sure you're modding then
I've managed to avoid big math in all my mods so far
Hard to see an application for it. Linalg, yes, but not calc. I guess acceleration/velocity calculations are kind of calculus, like really basic variety.
when the hell am i ever going to use L'Hรดpital in code
chu never specified anything above calc BC
before calc
uni year 1 calc
the really basic variety of calc, basically
Big Calculus /j
Well, there are instances here and there where you are dealing with a rate of change and want to extrapolate to some final value, so I guess that counts.
But it's being really generous to call that calculus, honestly.
im a generous person!
what is non US uni year 1 calc because i was on the cusp of learning integrals my first semester calc
Oh great... the night event totem works... but then the day after the weather just goes yeet
@ivory plume GameLocation.performTouchAction has a ConditionalDoor that seems to do nothing when the GSQ check it does is true, otherwise it opens the dialogue for either the chosen string data asset or the fallback string.
The performAction variant is for opening interior doors, but the touch action doesn't seem to have anything like that.
I was trying to figure this out for adding to the wiki, not something I'm actually intending to use. At this point, mostly just wondering if this is something that'll be fixed for 1.6.9 or if I should just make note of the weirdness on the wiki for the touch action.
and only winter... oh well this is a feature
I am confusion
Nauuuur why is winter 7 raining but not raining and its snow
Well at least you didnโt fall asleep on your keyboard while in the middle of a large mod and have to delete 47k lines of just mโs
is there an easier way to add more entries to the skin list, than just copying and pasting the whole thing?
you can just add multiple things under Entries
Same entry?
as long as theyre all meant to go into the same TargetField
awesome
so you'd copy everything from {{ModId}}_WhiteRabbit to the brace after the BabyTexture line and change it for your next entry
sweet
everything from the first {{ModId}}_WhiteRabbit i.e. the one with the { on it (this is also why the smapi uploader is preferred when sending json, it has line numbers)
Well back to sleep lol this time in my bed Iโll figure out what else I messed up on mod in morning itโs 1:30am lol laters all
oh, I saw notepad++ was rec'd and I'm used to notepad... wait, am I even using n++??
no, you're using regular notepad
Use vs code itโs better lol
it said no, XD
lol shh
I'll check that out tomorrow, it's rly late here, and I just wanted to make two skins of the rabbits rl quick
๐ค
... yeaaahhh, no, I want nothing to do with "AI" slop
you can turn off github copilot and everything else. just microsoft shilling their new stuff
oh, cool
I've been using VSCode for years without touching any AI
not using it bc of that would be akin to not using github bc of it
I use partial ai cause it prompts my mistakes and shows linking within the code itself
my favorite part of VSCode: the background extension, it was updated very recently
well, a good intelisense does it without AI...
yeah i think thats just basic IDE stuff
Technically anything thatโs intuitive is AI
sigh...
K going to sleep ๐ด
are we going to go through this again? What we call AI in recent times is any machine learning model, but what you call "anything intuitive" are mostly just smart algorithms (in the sense that people who made them are smart) that have nothing to do with โจ AI

last time i recall there being a lot of AI discussion only tangential to modding, a Junimo dropped in to corral us back on topic, so probably best to not get into it
cuz with a simple definition of AI, the A* algorithm is AI
yeah, good point, I'm getting mad at myself, better stop that
Just going to post this since it is the definition of AI and point out the part analyze data - Artificial intelligence (AI) is a set of technologies that enable computers to perform a variety of advanced functions, including the ability to see, understand and translate spoken and written language, analyze data, make recommendations, and more.
to get back on topic, Visual Studio Code is recommended bc its got nice features you want that regular Notepad doesnt have, like json validation and stuff (like if you're missing braces or commas or anything like that) and some nice formatting extensions if you're into that
Notepad++ can also validate your json but you need a plugin for it
so its like a step between notepad and VSC
Yep like analyzing your code to point out errors as you type
Seems so strange to me that there isn't a single N++ plugin that validates json as you go
You're lucky Boo-tton is holding me back
i use N++ personally just bc its super lightweight for quick json edits but i can also validate my own json or, barring that, can read and understand an error msg pointing me to it if it breaks
also the basic N++ auto formatting works fine enough for me
I usually have both VSC and N++ open at all times lol
really? what's the point??
the only thing i keep open all the time is ILSpy 
I have the VSCode extension for it, it's pretty good imo but I don't have much other experience
I use VSC for my workspace for my files and often open others' files in N++ for looking at. Makes it easier to keep my space tidy given that I am terrible for always having a million files open.
oh, like looking at the game's content? Yeah, I do that too with my default txt editor
Rider also has an ILSpy-esque extension for it but i find it a lot less quick n easy than ilspy tbh. i just like being able to pop up a window again and search for something in like 2 seconds
Yeah and other mods for support issues, helping other modders etc.
but transpilers are so fun!
I have not yet learned how to navigate ilspy properly so I stopped using it once I got a csproj for VS
and soooo compatible~
They r sinful button
I'll have to make a proper transpiler one day, the one I have can't do branches
skipping prefixes are sinful
transpilers are for connosieurs
that said branches suck ass to write in IL
I did a harmony transpiler patch from an assetrequested handler yesterday will u forgive me
editing existing branches, too. like, not impossible, just annoying
yeah, but you have to do what you gotta do when there's a whole draw method to replace
my book mod currently has a skipping prefix so im not free from that sin
let she who sins first cast the first stone or whatever
yeah but it causes incompatibility
if your intent is to change how something is drawn completely its sometimes an ok choice
No just be careful when you sin
like, you can't use AT on a FF Furniture
i mean Special Power Utilities is basically the sinnest of sins bc i straight up replace an entire menu. thats like, 20 skipping prefixes
the only "branch" I worked on with a transpiler was just replacing the lines making the condition with a call to a method I made
But you are in a position to implement a native furniture skin feature anyways, without needing AT
yeah
Something like animal/building skins
What I have for now is a feature where the Furniture Pack maker can add a list or dict of sprite-sheets paths and it will create as many Furniture, so the player can choose which one to use
so not exactly AT, but still usefull for making Furniture in batches
uh.... ๐ you know that event where you're dating all the guys/girls at once and you get busted? unfortunately im still kinda confused on how this works for a custom npc.
that cutscene adds an active conversation topic
so if your NPC has a dialogue key for it they will also have dialogue after it happens
for when you just go up and talk to them
(even if they were not in the event itself)
so they dont necessarily have to be dating the player ?
no technically you can give literally anyone that dialogue key
oh
neat
hm, can you give an npc lines for getting caught dating both the guys and girls? just stick the line in?
you can give them a dialogue key for both the boys and girls version but theres no event that gives you like, secondchance_BoysAndGirls
ah alright ^^ thanks
I thought there was a plugin for Notepad++ json validation, does it not work in real time?
This is the screenshot from the plugin page that Avi links. Maybe it's possible to get validation without the tree view?
I haven't actually downloaded it to see for myself


the way im writing my dialogue rn makes me worried
