#making-mods-general
1 messages · Page 36 of 1

seeded by the save id
definitely put that one in marnie's microwave
Put an egg in the microwave get a harmony.unpatchall
tbh there's no distinction as far as the 'framework' page is concerned
hm so i am cacheing the animal spots and i noticed that i get 2 coop instance maps
1st when i load game
2nd when i enter coop
even tho i only got 1 coop
I added animal produce debris a while ago and noticed that the debris only spawns upon entering the coop
even though I added them on day start
may be related; I didn't really look into it deeper
yea like i would expect game to make instanced location lazily
but it just makes it twice ig

yeah seems so
an instance exists on day start to do stuff with, another instance is initialized when actually entering
could have just kept the day start one 
So about my issue of galaxy sword getting deleted when using my bind key or key combo to inventory item mod, gf said she was super quickly swapping between salads and the sword, eating salad, taking a swipe at dragon, back to sword etc and she was doing this very fast when the sword vanished. I'm wondering if introducing some small async time.sleep in between emulated slot switches would maybe fix it
The logs showed diddly
Well at least the console did
No mention at all of any error
There's not some like, insta trash button is there? Lol
I'm not exactly an expert but I don't think async sleeping is a good idea. you can instead check the ms delay since last swap and only do your stuff if it's been some amount of time since then
Ahh yeah
i also dont think async sleeping is a good idea but i didnt wanna say it bc i dont know how to explain why i think that
it's still weird your items are being eaten though. on the surface I don't see any part of your code actually mutating the inventory
What about non async sleeping
then your game freezes for that amount of time slept
There isn't but my thought is somehow, when it's not done doing the actions to swap on a previous bind and another is commenced?
Oh yeah nvm
SDV doesn't use threads/async stuff, all of your logic should have been done the next time the button is pressed
Oh then wtf
Something about it being in humanly fast has to be at play
Or this would be a known bug
And it's not like inventory is popping up and no items are ever moved around by mod
you tested with no other mods enabled?
It's very odd
Yep
Was the only mod running last time
I just wish there was some explanation
I can maybe run the game via debugger, put a pause break on a hey this item is missing line that I have that then removes the bind but that would prob be too late to give us any info
I guess I should just spam try to reproduce the issue
does it happen in solo
i thought u r coop all the time though
She been playing without me
Because I'm busy with refactor at work etc
But the option for it to work together was paramount when making it yes
are you sure the eating animation finish function isnt just eating the active object, so switching back with a hotkey means the sword gets eaten
Ohhhhh shit
That actually makes some sense dawg
And it's over riding the normal wait because it's a programmatic item switch
oooh
It doesn't seem to go "slot by slot" once it's on the correct row
sord eaten 
Lmao
Rust Monster GF
She is now the galaxy
It makes by far the most sense
It has only happened when eating
And we didn't even consider that
U certified genius
That's a sick ass idea
I can totally make that
this would be like a tool that holds 2 stacks of consumables
I mean steal that
and on use you eat 1 each
I always hate when MA spicy eel runs out
I considered removing eat animation by referencing skip animations repo
But idk I find it is some mkuch needed reprieve, cheesing that feature yknow?
"can't touch this"
Wait explain
Here I thought u meant it'd just auto eat for u when it ran out
ofc u dont eat whole stack
yea but i think needing use anim is more balanced 
im not making this mod though do whatever u like
Why do u think that cuz it's more vanilla
Or because it adds a layer of annoyance
Honestly a little do you want to eat pop up would be cool enough
time pause when eating anyway so skipping the animation isn't more balanced
its about having to perform the action
eating for health/stamina is super OP, so requiring you to navigate your menu and do some inputs in the heat of the moment is the least it can do to be balanced
Get outta here
click the yes i want to eat
omg this is amazing thank you!!!
I won't hear it
is it okay for me to use in the future? i will give full credit
let me know if it explods 
case "Eat_Yes":
Game1.player.isEating = false;
Game1.player.eatHeldObject();
break;
case "Eat_No":
Game1.player.isEating = false;
Game1.player.completelyStopAnimatingOrDoingAction();
break;
why do both of these set eating to false
I mean he's not wrong but that makes my entire mod less cool
well if you release your mod, i'll put mine on nexus too
so that you can put as dependency
okay okay! will let you know once im done adjusting the other coops and barns
rn its on github so u can test and see if it work good, i only tested with coop and coop2 (just to see that u dont keep old animal spots)
Thai ain't my code is it
would you like my barn tiles to test with?
eatHeldObject calls eatObject which sets isEating to true anyway so its probably not relevant i guess
nah it's better if you who is map modder and target audience of this util mod try using it 
This is big, aww wait I think ur on to something
okay will do when i have some time, ty again!
i dont think this actually has anything to do with your bug, i dunno if i have it in me to keep exploring all the eating related functions, i just thought that bit of code looked odd but it seems like it works right anyway
Wonder if we can make a "objectIsEdible check
i mean obv it cant work too wrong bc. eating works
Are we eating or not?
Yeah you're right
an object being inedible is already determined by its edibility field
Oh we eating
Then how eat sword
I have no eating logic in my code at all
well, normally you're not allowed to switch your active object when eating
Maybe I should
Then that's what I need to fix
What other things should I not allow item switch during
Prob only this
He said, full of doubt
probably easier to just check if the farmer can move or not
Big ass brain over here
you can also just check player.isEating
Idk how I'd check that without doing a try to move
but idk other mods might add more animations that you'd not want to allow swapping during
player.CanMove
Yeah for compatibility purposes
Oh wow
This game has so many amazing functions Jesus
Best booleans ever
well Farmer.CanMove but yknow. Game1.player.CanMove
Game1.player is always you, the person looking at the screen, regardless of multiplayer or singleplayer
It's the person performing the event, Yeah?
it is the game that is running on the computer
How does it differentiate between me and Co OP partner then
your co-op partner also has a game window open, which is its own Game1.player
On split screen?!
yes, actually
You're a lot more devious than first impressions indicated. Good thing I'd have to actually install the mod for this to happen.
the game handles its own data switching for split screen
So fucking cool
(earlier I recall your code saves bindings for a player MP ID even though it only uses Game1.player. you shouldn't need to!)
if people install those weird random lootbox minecraft mods people would install this one for the joke too, probably
finally a nice blend effect for the background class at night 🌌
It does and I will explain
"That'll teach 'em not to waste their money on lootboxes!"
(lootboxes isnt even the right word for the mods i mean but i cant remember what they are. just boxes that when opened have completely random effects that might just destroy your entire world. for fun!)
Say you're using a key bind that involves movement buttons, like say dpad left plus X, pressing dpad left as someone who has used dpad left as a modifier needs to suppress it
But for player who doesn't, it would suppress them too
Ur prob still right
the other players would not get your button presses
what is the behavior if you give machine rules to a non big craftable 
Yeah yeah
Ah, I thought it was like hiding a little "surprise" in some mod list or Nexus collection.
ive never heard of any mod doing it
Listen the code works, your radical ideas upset me
like idk, furniture
George is getting upset
(tbh thats basically the only reason they get downloaded in minecraft too.... just by virtue of being on the modlist. but minecraft is a lot more mod pack oriented in the modding community than stardew, so.)
I did notice that machine data is just keyed to the qualified item ID, so it might work. But who knows how much machine code is hardcoded in the game to assume it's BC. It might crash.
well the incubators code does check big craftable i think?
before trying to get machine data
It's the other way around - you can get machine data on any item because that's how the data is set up. But the machine processing code might very well assume that the target is a BC.
Big Craftable is forcing small farmers to invest in kegs for profit 
You could grow a whole farm of gem berries if you really hate kegs.
But really, who doesn't love kegs?
(P.S. I realize that was a "Big Ag" joke and chose to ignore it.)
yea hm, i guess i should try it 
going through the code chain right now to see if there's a BC check anywhere. so far haven't found it, surprisingly. but I have a slight suspicion you'd trip the "pick object up" code earlier than the "put object in machine" code
If I just want to read code instead of running, Are Smapi and SDV still necessary? I build the project and add package without them, but namespace cant be referenced
Don't see any typecasts to (BigCraftable)?
there's no BigCraftable type
both Object and BigCraftable are the same Object type
I meant BigCraftableData
There's a rawData as BigCraftableData but seems only for context tags.
all the usages I've found so far casts and checks it
It looks like it'd be at least unpredictable. For example, Object.IsConsideredReadyMachineForComputer requires a bigcraftable.
well
What are we supposed to be seeing here?
that coffee is not placed in the world
it should be on the ground, somehow nvm I thought you made the coffee do stuff lol
a furniture with machine rules...
i gave coffee table (F)724 the rules of coffee machine
Oh, it's a rule on the furniture. Interesting.
sure is a coffee table now huh 
Well, there you have it. Subject to maybe a few idiosyncracies here and there, anything can be a machine.
i think it is on the table though
Though I'd probably advise against turning, say, crops into machines.
i cant pick up the table without picking up the coffee
where would the coffee go if it wasnt a table
heldObject is used for both machine output and item placed on table
probably nowhere, tables have logic to draw heldobject
it could have actually gone to the floor ig
Yeah was going to say that machines use heldObject normally.
(ignore my previous comment I had assumed you added machine rules to the coffee itself)
So if the object can't handle a heldObject then... it's just invisible, probably.
good for easter egg secrets 
Literal easter egg in this case, maybe.
hmm but I don't think input/output rules work for furniture? since it overrides performObjectDropInAction
still pretty surprising that day update just works (tm) though
the skeleton worked too even tho not a table
i love that i think
Hahaha, skeleton coffee table.
If it wasn't for the shadow, it'd look like a giant coffee cup.
You could probably turn the bed into a machine too.
your morning brew, my liege
first you need to find 24 fresh leaks for an old man
Hey, can the output be furniture too? I'm thinking a bed that produces other beds so your farmhouse just fills up with beds.
it should work
well its not going to become heldObject of heldObject i hope
though I have no idea how that would display
I guess you'd still have to pick them up and place them, so doesn't quite capture the "wtf are all these beds" feeling.
It might though! A machine that produces itself...
.
Task: Implement the Banach-Tarski Paradox in Stardew
i guess its ok that i continue to only worry about big craftables for this mod 
of course you could remove that override and just have it call base
would need a patch though
and also calling base function in the prefix is a pain
oh yeah chu/e are you also handling crab pots
i dont think so
those r some wacky code right
also didnt do anything special for tappers come to think of it
yep, an (O) with hardcoded pseudomachine rules in its class
what do calling base functions look like in IL, would it be easier to do a transpiler for that
tappers also do their own thing
Pretty sure calling base is just a call (instead of callvirt)?
doesnt seem like itd be too bad then maybe
I know the cover photo is bad but I am lazy
i like the name
Thanks
No, I'm wrong, there's a constrained opcode.
Still, it's nothing terribly arcane or complicated.
i have no idea what any of that means, to be honest
i just went to the first function i knew off the top of my head that had base in it and didnt see any constrained opcodes tho
just calls
I think maybe it's possible to do both, depending on precisely how the hierarchy looks.
Like if you're an nth subclass and don't know for certain that the parent has an implementation, call is not reliable.
i have committed my share of graphic-design-is-my-passion crimes. this is a safe space, you're doing fine /pos
having a proper image is already miles ahead of me slapping a screenshot on there and calling it a day
Yeah seriously... I've been fussing over this for the next one, really want to find some cool fish-themed image that's not just a lazy screenshot.
But it's probably gonna be a screenshot.
Willy with photorealistic shades next to a photorealistic salmon
that does make me think i do kinda love the idea of just finding the wildest stock photos for mod pages. theres gotta be some good fishing related stock photos
Over on the knitting subr3ddit it was a theme for a while to pose with your freshly handknit socks thr way men show off fishy they caught
somebody do a foraging mod and use the cover of All That the Rain Promises and More
Hmm, maybe a stock photo could work if I put some effects on it like pixelation. Feels like it might be strange as-is on a Stardew mod.
dont you use the mod that removes all the pixelation anyway
lol, there's a difference between running an xbrz mod to make it not look like ass vs. a legit 4K photo.
is that David Tennant
It still looks "gamey", but more like SNES-era games and not Atari-era games.
i think this is a wax sculpture
(who's gonna tell him)
Yes, fine, I exaggerated a little with the atari reference.
wow i never seen it from this angle b4
And yes, I'm well aware that SNES used mostly 16x16 sprites if that's what you're getting at. But we played on 480p CRT screens which was a completely different experience.
the artist is Patricia Piccinini
What's an snes
Not gonna take the bait. /fishjoke
it's an emulator you can download
all I'm hearing focus is you need to play SDV on a 480p CRT
(I know what an snes was. I also know it was before my time.)
it was not before my time, but i didn't get to have one 😦
I do actually use an expensive CRT shader for emulation. But Stardew wasn't designed for that, nor is it really an option anyway.
I had an NES though
oh wow i've known that blobfish image for so many years and didn't know it was patricia piccinini
i guess the man's made of latex too huh
yeah that man looks much less realistic from this view
i thought chu was joking about the wax sculpture thing but was very less sure after the second picture
damn that wasn't David Tennant gingerly holding a blobfish
its a name id never heard before i wouldnt have known to google it
it's certainly a choice of subject
all this time making a nice night sky scene and you can only even see it with a 4k screen 
really pay to win
only highest spec gamers allowed here
i rmbr there was a sdv speedrunner who got a 4k screen specifically to see more stuff in the mines
so that they can manage the route to marry emily
sounds like a blade thing to do 
You could also just set the zoom level really low.
Though I guess that plus a 4K screen is still better.
vanilla minimum zoom is 75%
it only goes down to 75%, but it sure looks pretty
Yeah, but even without mods you can just edit the config file.
And mods that let you zoom lower generally aren't considered cheating for that exact reason.
'in order to enjoy the sunset, pleaese head to this ini file and install these mods'
busstop.tmx is going to look incredible
Also the treasure levels in mines/cavern.
You said you wanted dark mode, didn't you?
Mod that unlocks zoom but also draw all the other maps ur map can warp to 
...I mean, newer 2D frameworks generally do have the concept of neighbors, and preloading neighbors.
In Stardew, though... good luck.
Well, isn't everything just always loaded in stardew anyways
dont tell that to the farmhands
The locations are always loaded, but I don't think there is any global coordinate system independent of the individual maps, is there?
A warps to B when you take the north exit, but the game does not know that B is actually "above" A.
So something "funny" happened...
On my meadow farm mod I added this
{
"Action": "EditData",
"Target": "MindMeltMax.MapBuildings/Buildings",
"Entries": {
"{{ModId}}": [
{
"Location": "Farm",
"X": 130,
"Y": 36,
"Building": "Coop",
"Animals": [
"White Chicken",
"Brown Chicken"
]
}
]
}
},```
It added things as needed, but when i went to reload the game just now, there were two new baby chickens instead of the onse that had grown up in my last playing sesion
why did they make the bus stop wider in 1.6, actually. a perplexing change
black bars are not aethestically pleasing
I have no idea what I would need to put in to make it so it doesn't just keep replacing the chickens everytime you quit out of the game and reload.
Maybe a When to check for days played less than 2?
hmmm
"When": {
"Query: {{DaysPlayed}} < 2": true
}```
I haven't actually tested this, dunno if that's the correct number of days
i dont know if that would w ork for new saves
the mod re-adds the buildings and their animals both on asset invalidated and on save loaded specifically, so whatever you use would need to be ready either at the time the save is loaded or just before you go outside i guess
I'll test on a new game, and the one that's a bit in
It for sure works on the one that is at day 15
well, adding the When condition would make it default to not applying any building at all, so it will of course look like its fine if you already had a coop and chickens
if the token gets updated after the save loads though then i think that should invalidate the asset and cause the buildings to be re-added though so it might be fine
unless days played starts at 0
i made a new farm, and it added the coop and chickens the way it's supposed to.
DaysPlayed does start at 0 but thar should be fine
Yeah you'll likely want to do that for now
this is mindmeltmax's framework u prob want to report this to em
Ideally if someone is just now using my mod, then it's going to be a fresh farm anyway, and if they have been playing already then odds are they've progressed enough to have a coop anyway, so it wouldn't matter if a new one was added.
Sleep, save, reload, see if it added more
Ultimately it's up to you how far you want to test it
the new coop would overwrite objects that were there that were naturally spawned so thatd suck if they had a meteorite or maybe a giant crop there
I like to cover as many bases as I can think of at least
Because people will always find new ways to fuck it up
I need chu/e's scribbly 100
looks like day 2 chickens were the same, or somehow ended up with the same random names. Reloaded to see about day 3
There's no way to turn off snow with a console command, is there?
There's one for rain but apparently not snow.
same chimkens again, so it looks like the when condition worked.
I did already add a warning on the mod page about the coop being added, and that it could cause issues, but i wasn't sure.
All you can really do is hope
Any way to try to get a value from a dictionary without knowing what the exact capitalization of the string key will be?
if you control the dict then just make all set key lowercase?
Do you control the dictionary
if you dont then its doomed
No, the game gets it from the Data/Pets Breeds list
Unify the case of all characters
more or less exact issue i have with id_o_modthathadcapsinid
Well, I guess I'll just demand they use the same case and hope
can you just iterate over it
You can just instantiate it with StringComparer.OrdinalIgnoreCase
why the bap
I think one of the benefits of a dictionary is not having to manually iterate over it?
All you need to control is instantiation
well, yeah, but if you have no other way
what dictionary are you referring to?
you did ask for any way to get the value
I think this method can sovle the problem
Pet data CustomFields
snow might be winter's debris weather, so try the one for that
Thanks, unfortunately it does not seem to be debrisweather. (I actually tried changing the season to fall, which still kept the snow, then running debrisweather, and it added the fall leaves with the snow)
Why is case unknown keys being used in CustomFields?
Primarily because I can't force people to use proper casing
sure you can
That sounds like a them problem
I can tell them they need to, but I can't actually make them
just make it not werk 
It just would be nice to solve the problem lol
i mean i can see the benefit of wanting to give them leeway since a lot of other things are definitely not case sensitive
destroying performance and/or doing very hacky methods to try and idiot proof setting a key is a lost cause
You can regularize their input yourself so that it conforms to the dictionary key format?
are you also going to make it typo resiliant next?
your audience is framework users. they're smarter than that usually
and regardless, the second you allow more than 1 key to do the same thing, now you run into issues of order of precedence issues (and the fact that other cp mods wont be able to safely modify the values anymore)
Well, as I said before "all you can do is hope" so I guess I'll run with that. Thanks!
the probability of getting the casing wrong, and probability of just straight up making a typo are the same if the instructions aren't just "Copy this key from the docs"
As for this, the dictionary format is just whatever is supplied to it in the pet data, which currently is just a bunch of numbers in string format lol
Or at least for vanilla pets if you want to add trade items it's just numbers
Well, I found a workaround, which was to put a breakpoint in an arbitrary spot and set Game1.isSnowing = false and Game1.currentLocation.GetWeather().IsSnowing = false. Weird that there's no console command for it.
Yeah it was a toss up between custom asset and CustomFields, decided on fields because it seemed like less overall work and technically has been
then u get newtonsoft.json quirk
Though it will mean slightly more work for the user
Re the whole custom fields thing, why don't you just iterate the keys? Are there really so many custom fields that performance is a concern?
the argument is more whether we should let people do this 
and what exactly do u do if 2 keys are same except for cap
I'm sort of ignoring the argument and assuming he's going to do it anyway regardless.
And given that, if there are like eight custom fields, it's really not any faster to try to do dictionary magic than it is to just iterate the keys.
roku already said they were just going to hope people dont mess up the casing
Ignoring more than the argument :P
hey chu
Guess I misread that part, sorry.
And if you don't think about this when you set the key at first, then even if you ignore the case on visits, you will have the problem of duplicate keys...
chu. how come you didnt bap focustense. they suggested the same thing i did. chu. chu. hey chu.
(/lh)
u are right button he gets animated bap
I was distracted.
.choose play sdv, write docs
Choose result: write docs
(its ok it was more abt me (lighteartedly jokingly) wondering why chu was singling me out than it was trying to point out to you that it was already said)
are the footer buttons gamepad compatible
well i implemented the tab interface too
If these two keys are identical
chatgpt is all you need(?)
i was make tab buttons on the side but the width of the page is variable
so it was kinda awkward to use with a mouse
I wonder if it's possible with the new dotnet dictionary to have a dictionary thar both is and isn't case sensitive
if the page buttons dont need labels you could just do arrows like other pages have
they do need labels
hear me out. but what if they didnt
tbh id maybe just align them to the edges and maybe give em some space between em but aside from that it looks fine to me
its wider due to stupid maffs i did to fit things
(In all seriousness though, for dictionaries/hashtables/etc. of fewer than 10-15 elements, iterating a list is actually faster or the same performance.)
hey Can I ask a question now? I found NPCs schedule is not cover all time, where can I get others ..wiki said If none of these keys match, they won't have a schedule for that day
i think the typical fallback key is default
example from sailor styles:```json
{
"Mon": "GOTO shop",
"Sun": "GOTO shop",
"shop": "0 33 96 2 blueberry.SailorStyles.Anim.Standing/1240 33 96 2 blueberry.SailorStyles.Anim.Sitting/1830 33 96 2 blueberry.SailorStyles.Anim.Drowsy/2020 33 96 2 blueberry.SailorStyles.Anim.Snoozing",
"default": "0 Forest -999 -999/2400 Forest -999 -999"
}
im not the one you should be telling! my suggestion to iterate over it wasnt a joke
i thought they have fallback one 
ouch My problem solved
oh am i meant to have a spring key lol
the one thing i thought i knew about NPCs is that a spring key is a soft-but-mostly-hard requirement
Do you know a thing about player characters?
i don't know anything about anything T T
is this an open-book question and how much prep time do i get
Hello
If the person being asked is me, I think 50 years is good
(Also don't feel like you have to wait your turn to ask a question, it's a public server, though I can understand being worried your question will get washed away in the sea sometimes)
That's exactly what I'm worried about!
FWIW, you'll actually want a spring schedule as your default and not just default, spring is used primarily as a fallback
And also to send NPC's home after festivals and stuff
Just after I asked the question, I found the answer on the wiki
Yeah you just had default highlighted so I wanted to make sure
only scrolled down about one centimeter ... too difficult to find what i need in so much information
thx (And indeed this is ctrl+f hightlight lol)
Is this the right way to do this?
{
if (Game1.currentLocation.NameOrUniqueName != "FarmCave")
{ Helper.Events.GameLoop.UpdateTicked -= GameLoop_UpdateTicked; }
Helper.Events.GameLoop.UpdateTicked += GameLoop_UpdateTicked;
}```
Basically when the player warps, if it is into the farmcave, start caring about ticks. When the player warps and it is not the farmcave, stop caring about ticks. Is it a problem to try to unsubcribe from an event if you are not currently subscribed to it?
I would probably just have an update ticked and check in there if the current location is the farm cave
I don't actually know what's better in this case
I was hoping to unsub to the event when not needed to save on processing time.
I don’t think it would cause a problem but I’ve never tried it
that if statement isnt going to stop the second statement from being run
I’ve done unsubscribing a few times but not for performance reasons
(I was abusing garbage collection)
oh, I need to add a return to it
In single-player this is fine
In local coop you need to distinguish between the player you want to affect and the player you don't
(Am going to sleep, will explain maybe later.)
oh fun, good breadcrumb to explore
Can we just pretend local co-op isn't real?
does unsubscribing before you've ever actually subscribed cause an error too, or does it just do nothing?
Do nothing
That’s what I do!
good to know
I’ve been told actually you just perscreen everything
I'll put a disclaimer on all my mods that they are not guaranteed to work in local co-op
My local REI is great thank you very much
My policy is no controller = no split screen = I can’t test it = i don’t support it (if it works fine that’s good though)
I mean I maintain zero mods now so
Joy!
"What's local coop" "well what is a video game."
It’s like when two people knit on the same article at the same time
Anyways nighty night!
I dunno, was doing that to cut down on how much the game would be checking on tick, would the performance hit be that bad?
Will they get it done faster? Will they cause chaos? Who knows!
If Atra is asleep they can’t stop me from bad ideas
Depends on what you’re doing in the update ticked event
I usually just always stay subscribed
And just return early if conditions aren’t met
Most code I’ve read agrees with Casey
it will be doing a timer so that every x ticks, it drains your stamina one point.
when swimming in the farmcave
well x milliseconds
Lmao, well big items are kind of a problem
can u normally buy stuff with big craftables
Not exactly everything, only the state that is actually per-player. For example, if you have "mod data" that you store in the save file, you definitively do not want that to be per-screen.
I dunno, I haven't really messed with trade items before
Yeah, you’re giving much better answers than me 😛 listen to focusense
Wiki doesn't seem to indicate that there's any limitation, just needs to be a qualified or unqualified item Id
(re: subscriptions, if you really take a holistic look at everything that happens in the game's update loop, it'll be obvious why a single subscription or even 100 subscriptions on their own have little to no impact; it all comes down to whether the subscriptions do anything expensive.)
drawing things to screen is expensive, running a timer is not? (or more often, checking location and returning)
Got this recently error cs0104: rectangle is an ambiguous reference between X.tile.Dimensions.Rectangle and Microsoft.Xna.Framework.Rectangle
Which one do I use?
You want Xna
ignore xtile.dimensions wherever possible 😌
You can set a using directive for it at the top to avoid adding it to every rectangle
If you have a using for X tile delete it
This time my code built
What is the protected override void cs resetlocalstate()
I see it changes the mapbasetilesheet to white in caldera.cs
Do I need cs base.resetlocalstate();?
All I really know is that reset local state is called when you enter a location, it usually handles resetting anything that was deemed to need resetting
you are override this specifically to avoid Caldera stuff
Hmm I got the code all set up for the lava logic mod in my map. But how do I target the map In c#?
The map is added by content patcher
need to cast it to GameLocation and do that resetLocalState
@ivory plume #making-mods-general message Setting trade item's to things like big furniture or large big craftables causes them to draw in the player inventory, not sure if this is in scope for 1.6.9 at this point
Though big craftables might technically be fine since they're only two tiles tall, they might peak out a tiny bit into the player inventory but nothing like that palm tree lol
cs public class CustomLavaLogic : GameLocation
Yeah no it's fully visible if it's on the bottom of the list, same as the furniture
sunset
(26mb webm)
cs string locationName = "custom_maze";
Well, I guess I'm not publishing this tonight lol, thanks Nexus. Gonna release the pet adoption shop mod now and work on the animal shop next, by which I mean try really hard to not quit halfway through it
I wanna try just using the current shop setup and making a new animal license item to populate with it, see how that looks
If I don't like it, then I tackle UI and last time I started a UI mod I got really overwhelmed and gave up lol
well if you make it use the general shop ui
then the grid shop ui casey had should work on it, when that is made compat with 1.6
also focustense's StardewUI has a grid widget
FarmHouse farmhouse = Game1.getLocationFromName("FarmHouse") as FarmHouse;
I only found this reference to cast to gamelocation from 1.4 era
GameLocation baseLoc = this;
baseLoc.resetlocalstate();
this is prob some kind of OOP crimes actually
if you dont want to commit crimes u can just inherit GameLocation and copy the lava stuff
rather than inherit Caledra and block Caledra.resetLocalState (plus IslandLocation.resetLocalState)
It's very impressive, but I still don't understand the trash can. What's the deal with that?
One thing I haven't given a ton of thought to is integration with vanilla menus, and especially the "menu with inventory" scenario. I'm not sure how deep I really want to go down that rabbit hole, but if someone wants to give it a try for something like a shop menu and leave feedback on what sorts of things have to be done (or what can't be done) and so on, then I can try to come up with a more baked-in solution that just works.
I think in this case you just block the vanilla animal menu from ever drawing in favor of your own
it's called fashion, look it up
What chu talkin bout, chu
Chat what coding language is stardew 
JSON if you count that, C# otherwise
thanks!
(assuming you mean for mod making purposes. the game itself is C#)
Yeah cause I'm interested in modding 
I'm making lava
Q:What is difference between GameLocation.displayname and .uniquename?
How hard would be to when making a none realistic fantasy firearm mod based on the Archery mod to also do stuff like allow Pierre (the town seed seller everyones hates) or any specific to sell diferent NPC to sell firearms blueprints?
https://www.nexusmods.com/stardewvalley/mods/16767
I shot myself in the foot by making overly complicated NPC schedules and now it is taking forever to test them
But centralising evrything on marlin seems generic
like just because your house has a kitchen doesn't mean you have to stop at the coffee maker then the fridge then the kitchen table (after you shower and change out of pajamas)
Oh
and using wierd components that are not realistic as crafting components, but force the player to do more than just buy a nlueprint and mine metal?
Like the rusty gear and farming machines you can craft
that mod is currently 'on hold' though right? It doesn't work with 1.6?
Im waiting for a steam discount
OK seems like a lot of work to make a mod when 1.6 players can't use it though
🧏♂️🤫
Could a handmade cowboy action revolver have less lack of lore friendliness than a regular modern firearm?
So acording to stardew valey lore firearms exist.
But they are iligal as a civilian tool and so well regulated that nobody has them?
I don't think CA thought that much about it
Some mods ad stuff like old west-ish revolvers and overpriced ammo.
But its not canon by the slightest.
you do use a pistol in journey of the prairie king
Its a minigame.
Mods are for fun. They don't have to be lore accurate.
its also a movie
thers also a male blond NPC that went to war and has some trauma
By hes clotes I supose they dont use swords and slingshots as army weapon
But mods are here just to be fun 🙂
So 18 round semi auto AK time
My modded NPC is a war vet as well
whaaaat mine too
adding a sheriff (above) and police officer. short version is he lost his arm in the war, and comes to pelican town with the daughter of a war buddy to reopen the sheriff's office
and just maybe put some local fraudsters behind bars
I love him. Do you think he and my npc would be drinking pals?
cheers
I love him!
lol thanks what's your mod? is it published?
Its possible to use items aded by mods as crafting ingredients in said mod?
She is in development! I'm revamping her sprites currently! Her name is Margo and she is Willy's brother. She got blown up during field work
oh awesome I've seen your stuff in the art channel just never knew the explanation
I have never actually known the explanation for Margo either haha
I love the cane
(Also Sage, do some writing as well so you don't leave all the writing to the end again and get stuck again!)
Should be! As long as you add said mod as a dependency!
That's a good call! I'll do that!
I am trying very hard to intersperse my drawing in between everything else so I don't end up with just a bunch of art to do to finish Hiria and then give up forever lol
I usually do the drawing part as a reward when I complete Reyla's i18n for that day/week. It really makes it fun and gets you motivated
That makes sense if you enjoy drawing!
I like the coding the most so my treat thing is figuring out a new way to break things 
Lol I mean Reyla has 12 different outfits!
Ohhh nice nice. I'll try that after I finish this outfit row!
Yayyy I love NPC outfits!
Well, I love NPC outfits that other people make. It's so stressful for me doing it. Clothes are so hard!
Ooooo breaking things is part of the fun too when it comes to modding!
I find the outfits to be the easiest, it the spite part that tends to get me
It's the colours for me. Can never find something that won't blend with her hair aha. Good thing I made her like blues and greens...
The blues and greens suit her so well too and her hair colour is gorgeous so it's a win-win as far as I am concerned!
I get so frustrated at how borked Hiria looks in her sprites so I open up some vanilla sprites to see how to fix her and then go "ohhh they're worse so actually her sprites are fine" haha
Lol i remember trying to put a lot of detail in her sprite work, but found that making it simplistic works the best
You gotta find that good balance
And you gotta remember that the portraits exist too
So they'll be your intricate detail
I make sure Reyla goes all out in her portrait
I love her sm
This is her second spirit eve outfit I just finished this week
Thank you! ☺️
She does have a beta if your interested in having her in your game. You can find it in the East scarp server.
I enjoy sprite work but I'm bad at portraits which is why I haven't done winter outfits or sprits eve for mine : (
I don't play much of stardew at the moment, but I'll definetly take a peek at her when I get the chance!
Spirits eve I would never do (she's just gonna wear her coveralls) but winter can actually be pretty simple depending on the outfit
No worries! You can also take a peek at her code if you ever stuck in code or you can ping me whenever I'll gladly be of help!
Yeah, code peeking might be more my style, but I wouldn't want to do it without permission. And I appreciate the offer! All I have left to do is revamped sprites and dialogue ahah
A lot of mod authors I've found are very happy to have people look at their code if that person is making a NPC themselves, some even leave welcome notes in the code for people! 😁
Pierre plz
got my first smapi mod running. now onto the slightly more involved task of reworking DialogueBox
I'll keep that in mind! It still feels a little sneaky ahah. Very much a me thing tho
Good luck!
No worries 😄
If somebody wants to look at my code I will apreciate it really. I always write many comments in my project(even if nobody will visit)
I literally have comments like "This was copied from DestyNova's dynamic tokens" or "Pooh suggested I do this" in my files because I am a magpie for json lol
My point is that if you can find the source code, then you can assume that the author allows you to see even copy it , otherwise there is no point in OPEN SOURCE
Do you have a repo you could share? I will happily look at your code!
Half of S&S's appearance data files should just have a //EnderTedi did these at the top /j
It's not even like a "my code is precious to me so it must be for others" kind of thing. I guess for me it's kinda like looking through someone's purse? The feeling of it, anyway. Idk I'm just weird ahah
When it comes to the JSON side of Stardew modding you don't get a choice about whether it's visible to others but I haven't come across anyone saying they want to restrict others from looking at their work or that they would be upset about it.
No, I only have some code from very early years in github, and most of my projects are not published online . its not about SDV mod I m new here
UniqueName is for farm building interior locations; it combines Name and a random unique identifier to make a unique warpable name
I definitely have some of that feeling about other people looking at mine - like "oh they will see how messy my work is, how embarrassing!" But I don't feel it about looking at others' xD
DisplayName is a translated title for the location for players to view, and Name is otherwise the usual ID for each location
If you want messy, Hector's appearance data (especially the overlays) are... An organized mess let's put it, you're probably fine 
oftentimes you'll want to refer to a location by NameOrUniqueName
Oooooh speaking of which I didn't remember to credit you in my nested questions tutorial for helping me figure out how to get started! I'd better go fix that right now.
Got it
Oh blueberry! I wanted to say that I'm a big fan of your mods! That you for making such great mods! 😀
Man I missed how tightly knit and kind this community is,,,
thank you! it's nice to know people still like my dumb stuff haha
(we'll always love your dumb stuff)
not expect the question from so long ago to still be answered, thank you very much
just days ago I said something very similar lool
what I need is to search for the mods BB posted right away
(please for the love of god i hope people don't look at my code
it's a mess in here)
Same I'm a horrible influence for first-time learners. Everything is mangled in there and I don't want to clean it up and risk breaking something lol
You are in luck! #modded-stardew message
my templated github? go learn from that, i cleaned that up and separated things as a learning tool, my ACTUAL published mods? please no, please don't look at it
I am 100% going to look at yours any time I want to achieve something I know you've done 

Mind sharing the link? I'm curious about that template
Ty ty 
i even put tree framework in there last night cause i was like, "yknow this is useful"
I'm sure it's not that bad, you probably don't have all the code contained in your modentry.cs when it could've (and should've) been organized better
Totally not speaking from experience
jokes on me i haven't touched c# still
If not for me copying how Desty organized sns my npc mod would've been a mess too
yep I havent touched too .I can only touch warm laptop screen
I'm not smart enough for c# 😵💫
(ok that's only slightly a lie, my data models are in another cs file, but that acounts for like, maybe 0.01% of the mod)
I've only been using it for a few weeks, and my feeling is that it can be called Cjava as well (just joking
Wrong!
!anyonecancook
(my first mod is 95% partial class ModEntry, which is similarly very bad
)
(esca no--)
the stuff that needs to not be in ModEntry is a mess as a result
(and reflection/Harmony is weirder for the people patching it, etc
)
for my first c# to be a karaoke framework, i can just shove everything into modentry and then a minigame.cs right-- /j
(at least you're not loading the same asset over and over every tick (sometimes twice))
(i will have to actually think about the midiparser and how /i'm/ going to read it to game but that is, uh, a very later problem)
(I really need to move that function out of Tree.draw and FruitTree.draw and use AssetRequested/AssetInvalidated to cache the data instead)
on that note, would it be a pain to have it also be attached to a separate instance of the v16_Shadows for wild trees? if not then i'll just deal with the spiky shadow and not care
apparently not in there it's time for me to dig
If it's a pipeline asset, loading it every tick isn't that bad as it's internally cached by smapi anyway
If it's modcontent, less so...
Oh I'm also loading two different Texture2Ds every tick too-
(sometimes 4 if there's a tree and fruittree)
do methods patched with harmony have to be static?
harmony.Patch(
original: AccessTools.Method(typeof(DialogueBox), nameof(DialogueBox.receiveLeftClick)),
postfix: new HarmonyMethod(typeof(ModEntry), nameof(ModEntry.DialogueBox_receiveLeftClick_Postfix))
);
The original method doesn't, the prefix/postfix/transpiler/finalizer does
it's cursors nevermind it's cursed
true like by a witch
How do i add a drop to a monster's loot pool? All i'm managing now is to replace it entirely
are you using entries or are you using fields
fields bc i can't figure out how to format entries
oh it's a freakin
okay you'll probably have to use the textoperations
one sec i'll repurpose my gifttastes
"Action": "EditData",
"Target": "Data/Monsters",
"TextOperations": [
{
"Operation": "Append",
"Target": [ "Fields", "MONSTERNAMEHERE", "6" ], //field 6 because that's where the drops are at
"Value": "<ITEM ID> <CHANCE I.E. .7>", //space delimited
"Delimiter": " "
},
]
}```
hell yeah thanks that works
Good morning, does anyone know how to set mail to appear upon completion of a quest? (preferably 3 days later)
In looking at Data/Quests it doesn't look like there's a spot to specify setting a mail flag upon completion
the game automatically generates a conversation topic when you complete a quest. you can use a trigger action to check for that topic and add the mail
ooh okay thank you!
the topic looks like this:
Game1.player.autoGenerateActiveDialogueEvent("questComplete_" + (string)this.id);
so, questComplete_<your quest id>
Perfect, thank you
you can do two days pretty easily by using the memory_oneday version, setting your trigger action for the morning, and adding the mail for tomorrow
if three is really important you might have to chain actions to get the extra day
or maybe there's another way i'm not thinking of
3 days isn't important
hey guys. Is there something similar to the addCraftingRecipe (basegame) Trigger in ContentPatcher
cause using addCraftingRecipe doesnt seem to work
Are you trying to add a crafting recipe through a trigger action?
well I want to add a crafting recipe during an Event
like with the unlock of the furnace
!json I don't really do event scripting but if it's a format issue maybe I can spot it
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.
oh my mod is already on nexus gimme a sec
choose the hard version
the normal version just unlocks it with farming 8
You didn't name your crafting recipe key {{ModId}}_AgeingMachine
addCraftingRecipe AgeingMachine should be the syntax
It's just AgeingMachine but your event is trying to get {{ModId}}_AgeingMachine
ohhhh
(Also FYI but event IDs do not have to be numbers, they can be strings.)
cause if you use addItem i used it with the {{ModId}} and it still gives me the item
That's because your big craftables item id is with {{ModId}}
(you should use the version with {{ModId}} in both places, and not just AgeingMachine)
if I do it with {{ModId}} it wont work
Didn't find anything about having to use the exact keys you established?
it needs to be done without
broadly speaking, you should prefix all your stuff with {{ModId}} in every place that the game lets you, which is almost all of them
You should change your crafting recipe to have ModId is what ichor means
And then call that in the event and anywhere else you need to use it
they have to match. you should use the ModId one, because it guarantees no collisions
yeah I didn't even find anything with addCraftingRecipe in the wiki
so I just copied from the games code
I mean, the event page has it on there but it's not robust or anything
addCraftingRecipe is definitely listed here https://stardewvalleywiki.com/Modding:Event_data
Like most of the event page, there's way too much to cover and not a lot of examples
i dont remember anymore
It is not explicitly stated that you have to use the exact key but it is assumed because how else is the game going to know what you're referring to?
i made the mod a few month back
The idea of using the exact key you establish is not specific to events though, that's a general CP thing
Like you can't give something the wrong name and assume it'll work
Really, it's generally true in everything code based
yeah
Console commands are cool in that they have a lot of fuzzy search stuff going on
I might have as well already solved the problem
But I have no idea how you do that and it wouldn't really be feasible in most places
but with me having had two copies of the mod I sometimes changes variables in the wrong version
Config settings might have been a better way to go
yeah
I love config settings. I considered making my Sialia update contain an optional file for the standalone sprite replacement but I did not want to deal with that so config to the rescue.
{
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"{{ModId}}_PUDDINGSHOPOPEN": {
"Id": "{{ModId}}_PUDDINGSHOPOPEN",
"Trigger": "DayStarted",
"Condition": "PLAYER_HAS_CONVERSATION_TOPIC Any questComplete_{{ModId}}_PUDDINGSHOP",
"Actions": [
"AddMail All {{ModId}}_PUDDINGSHOPOPEN tomorrow"
]
}
}
},```
For some reason this isn't actually ever triggering mail; anyone know what I'm doing wrong?
(the mail does exist, I checked)
Does that flag correspond to an entry in Data/mail?
"Action": "EditData",
"Target": "Data/Mail",
"Entries": {
"{{ModId}}_PUDDINGSHOPOPEN": "Dear @,^^ Please join us for the grand opening of Charlotte Chocolat in the cottage by the sea, Stardew Valley's first chocolatier! Store hours are from 9am to 5pm. Please enjoy this free sample! ^^ Sincerely yours, ^ Pudding %item id (O){{ModId}}_Chocolate 1 %%[#] Pudding Store Opening"
}
},```
What about the entry in Data/Quests?
"Action": "EditData",
"Target": "Data/Quests",
"Entries": {
"{{ModId}}_PUDDINGSHOP": "ItemDelivery/Pudding's Chocolate Cravings/Pudding wants you to bring her some cacao pods for a special project./Bring Pudding 10 cacao pods./Elliott {{ModId}}_CacaoPod 10/-1/3000/-1/false/Wow, you really did it! Wait a few days and I'll show you what I can do with this."
}
},```
You're sleeping twice after completing the quest?
yep
Did you try on a new save? Or try making sure the trigger action wasn't marked as complete before completing the quest?
Nothing is jumping out to me as wrong...
are you able to view the mail itself with debug showmail <mail id>?
i know the mail asset is Data/mail but i am constantly forgetting when case matters, because mostly it doesn't until
Let me try on a new save file
(and double checking, if you have these as separate jsons, have you included them?)
Your other save likely had the trigger marked as completed before you had it tied to the quest properly
anyone know if there's a mod to where u can test animations? like things some npcs do during certain seasons and what not?
...why would you need a mod for that? Just set their seasonal schedule to the animation and watch to see if they do it properly
i guess. i just feel like it'd be quicker and more convenient.
Just have em move to stand beside their bed at 6:10 and watch
It's tedious but there's no mod as far as I know
alright
Made a stupid mistake. In receiveleftclick, among many if...else if, I forgot one else, which caused check twice when click once. And then very confusing bug appeared...
Tried to get my NPC to sit in the saloon and this happened? not sure why the chair clips like this
Reason: it's the way the tiles are layered in tiled.
Fix: idk
not much you can do besides have them sit somewhere else. the layering on sittable tiles is generally not fun for NPCs to use, which is why there are bushes behind the benches near the saloon (so you can't walk behind them and discover that they're not layered for you to walk behind)
question, ichor, in the event mod i’m doing rn, i wanted them to take a seat after certain dialogue, i found the sitting sprites for both the farmer and the NPC, would the layering look awkward too? i’m tryna do it at gus’ priv room like at Alex’s 10 heart
if you're using the same spot as that event, it will probably be fine
vanilla event alr has them sitting so idk if i can pull it off to have them, say stand at a certain event then sit at the chairs without making it look awkward 
i figured i could just do away with having them sit automatically as the game starts so i don’t have to worry too much but
Reject logic, make them shoot up into the sky, smoke effect and all, and then land sitting down on the chair /j
you can "animate" them sitting down with showFrame/positionOffset but it rapidly becomes janky
nah I'd win
i did some shenanigans for Lacey's 10-heart event so you can both sit on her couch, you are free to crib from that if it's helpful
not perfectly analogous to what you're doing but i did animate her jumping into the seat
may i please, i’m still working on glh rn but i’m getting my butt working on the event mod when i get extra time
thank you, ichor 
you can ignore the bespoke event commands, that's some of the shenanigans i was talking about
Realistically can you make an npc jump and travel at the same time
I like shenanigans
i adore shenanigans. i'm always getting up to them
i shall link this to my thread so i can look at it again when i go back to fix my code
thank you!!
ca could fix the furniture layering issues if he just rendered the game in 3d
key thing to remember is that each event command takes one frame to do (unless it blocks, like move), so chaining instant commands like positionOffset one right after the next gives you animation at the game's framerate
spent 30 mins wondering why floors and wallpapers wont apply to this room i made only to realize i put the floor/wallID tile datas in the wrong layer
this is why i should NOT be working on maps at midnight
You can, I've done that before, it's pretty smooth if you get the timing right
(to be fair my timing also was "while NPC is in air during this big jump, walk 1 tile right and then 2 down while falling so I had pretty loose timing)
mine, linked above, is fairly smooth, but it's not a "real" jump. i was trying to more or less replicate the timing of when the farmer sits on chairs
If you timed it right you could also get it with a real jump and either move, advancedmove or positionoffset, but if your current solution works, then why change it
this is adorable but he's positioned weirdly. not sure if its due to my mod xD
hi guys, does anyone know or remember if the game has some sort of openable object with random stuff inside? Like a geode without needing to use geode crusher. like a gift package?
i havent played the game since umm 1.4 so i don't remember or know stuff 😅 just making mods
Technically the volcano mine chests I suppose?
in inventory I don't think there's anything like that unless you count the fishing treasures
hi
okay hmm the treasure chest doesn't have anything in it's object data so i guess the only thing i can use is geodes. but for my mod where i would have like suprise parcels it doesn't make any sense clint is opening them at the forge 😆
(You can kinda get away with it being a letter? But then it doesn't have that brain tingle of opening a box)
can object be an openable letter?
Well it'll be a random set of items in said letter
test decorating done!! now that i've got the hang of this i can move on to making the rest of my planned layouts 
That the game only picks one, unless you specify a multiple
but can letter be an object? I need it to be an object 😅
an object that can be opened
I'm pretty sure even qi's boxes are only openable through Clint I don't know if those can be replicated in cp though
you could maybe use Secret Note Framework to make secret notes that look like little parcels that have items in them
yeah they are. they are basically just geodes
this sounds promising 👍
i think secret note text allows you to use the usual item commands like you would in mail but theres likely not gonna be a spot to draw the item, but even if not you can run trigger actions upon opening the secret note to give items too
hmm. could you do this? i've never tried putting an item in there
oh of course, the triggers! derp
i have vague memories of finding out that secret notes can take commands like that when i was messing with the mail code for BETAS but i could also be making it up too
but yeah the triggers would also work
technically secret notes are mail with a different name. i fear you'd either not get the item, or get it every time
secret notes just open up a LetterViewerMenu iirc which does parse those commands ofc bc thats what mail uses. but again its been a lil while
so from the mod page it seems like i can have actual objects that open these notes. seems promising
they work like the vanilla secret notes, which were the only vanilla thing i could think of that lets you "open" them off the top of my head
(ichor here is also the person who made it so. he's the expert here)
if you do use SNF, you can set requirements for the note to be available to spawn, but you can't change the actions that spawn them (fishing, fighting, hoeing, mining, and cutting trees)
ah okay so no objects. aww well
a Secret Note is just an Object anyway right? like the note itself
yeah, you can definitely make your own object
if you make it so that the notes requirements to spawn are impossible or are never true, you can just spawn it yourself via other means
i assume?
oh, button makes a great point
ah okay now i understanf
truthfully i'm not sure it's a great fit for random loot boxes
i would tell you to look at (airyn's?) mod that added joja loot boxes but i'm pretty sure it's hidden rn
it's the best so far 😅 i mean i guess if the vanilla game uses clint as a letter opener i shouldn't think about it too much :
maybe not the greatest fit, but it should work i think if theres nothin else and the act of "opening" the box is critical
unless ofc you were fine with doing some C# work yourself
basically it just feels silly to use clint to open a literal letter 😂
Spacecore maybe?
Vanilla item extensions? I can't remember anything off the top of my head except totem warp though so gimme a sec
if you just want the object to disappear upon opening you could use spacecore for that
so with spacecore you can have openable items?
i think at this point it would be best if i asked what exactly you mean by "openable item," like what are your requirements here
UseForTriggerAction - True to run a trigger action upon use, false otherwise. Default false.
Yeah I'm trying to figure out how you want these items to spawn then I'd have a clearer idea
i have letters/parcels that my pigeons drop. i would like to have them openable with some loot 
but like when you say openable, do you mean you want a menu/screen to appear to show you whats inside? or do you just want to be able to right click while holding them to gain an item?
do you want to be able to close them with the items still inside after?
just open and pop theres items is enough, i just dont want to take them to clint 😢
so click and gain is good enough
then yeah, SpaceCore can let you run a trigger action when trying to use any item you want
yeah spacecore is probably the way to go here
amazing 
i assuemd you wanted it to come with a letter viewer like a parcel which is why i suggested SNF and also bc i think SNF deserves more use
Does Casey have a spacecore command
I don't think so
one day i will have a second consumer!
one day...
ah sorry for the confusing explanation! I mean written letters would be cool too but i guess a lot more work
eventually it will be me if no one else gets to it first
I will use snf for my expansion because it's gonna be a lengthy story questline
i'll probably use it for mine, too, if i ever make it
(let me just add SNF to my list of scope creep for my mods~)
the letters thing wouldnt actually be much more work, just a creative use of a framework meant more for something else
i guess i can weight these options. and go crazy and do both
besides the fact that you'd then have to, yknow, write dialogue for the letters. thats work 
The trigger action itself can have the letter sendout so it won't be a hassle
in this case its not a literal letter its a secret note
the letter would be opened when you read the secret note
and the secret note item would just have a custom texture to look like. idk. a box or something
(i mean i say not a literal letter but the game considers them kinda the same thing but you know what i mean. its not going in the mailbox)
yeah that's what i thought 👍 thanks for clearing it up though
it does make me kinda wanna make a custom loot box framework now though
Isn't that geodes lol
Or you could male a machine
Add field for sfx too please
Like
loot boxes that you dont need a machine for
What are the qi box that isn't a loot box
well you need clint for those
they are lootboxes. but birdb didnt wanna have to go to clint
Why the Clint hate lol
which i can understand. i also dont want to have to go to clint if i dont need to
he closes too early
Skill issue
Not as much Clint hate as immersion I think
i dont think its hate its just why make it so that Clint is required for every goodie bag a mod wants to add, yknow
Because loot box is immersion
Obviously
That would solve pau's problem of having a random cake box
Make ot charge real money for immersion
Have you never played a real life so many loot boxes there /s
imagine if every time you left a party with a goodie bag you had to go to your local blacksmith to get it open
no comment on clint hate but it literally means that the farmer is not even able to open a letter 😆 rather not have something so silly in my mods
I mean
A box labeled "cremated remains" showed up at the office yesterday
A loot box, see? And no need for Clint to open it
I am reporting tedi for my grotesque laughter in this parking garage
Wouldn't you be able to expand on spacecore's vanilla object extension and just add the dictionary like how data/char winterstargifts has?
random goodie bags (which dont even need to be random. the framework wouldnt control how you delivered the loot boxes) arent any less immersive than randomly finding clothing or furniture or notes in trees anyway
Tbh
That is a .16 additional I don't like
How is this shirt in this tree
Which teenager put it there
How'd this couch get in this tree??
Is there a wah to $action addItem that is random
i thought fishing wall baskets was weird enough
We literally saw Qi fly a plane and drop lootboxes down on the whole world or smth, Qi likely put the shirts and couches there too
I think flat randomization could do it too? $action addItem {{Random:objects here delimited by commas}}
(also Avi can you teach me how to randomize my dialogue if I have three Fri6s but for that mod exclusive dialogue later)
I am poisoning your mind with i18n
I post it in your thread
Yeah but update rate would mean if multiple gift/loot boxes got opened at once they'd produce the same item
If it's a trigger action then pinned random?
(atra was replying to the msg abt the framework anyway in which case its moot bc it wouldnt need to rely on the vanilla action anyway)
You could add the action to betas
i could, or make a tokenizable for it
Wish you could use item spawn fields for addItem
i was considering it
You're already giving it the footgun
tho i guess i cant use a tokenizable string for it bc vanilla actions cant handle those
String though
so id need a custom action anyway
Honestly just a addRandomItem <id>+ action would be enough for this
tbh im not saying you're wrong but i think if i, personally, was going to do something like that id just spin it into the aforementioned loot box framework instead
Scope creep
(if i made a whole asset for it i mean. addRandomItem like EnderTedi said is what i was thinking of instead)
Creeping up upon you
I feel like we can use the built-in GeodeDrops field and just add a context tag that allows Hulk smashing by hand
dont call it that
but also you'd still need a way to have it count as like, a usable thing
can it be like
@lucid iron You leveled up to Rancher. That's level 250. Woot!
addItemQuery
(changed)
how did chu beat me to 250 smh im slacking
go away governor u cant make me touch grass
I mean clearly not you've got level 250 that's like at least 125 hours or talking
(Let's ignore my level...)
(I live in the desert there's no grass here /j)
(1156 for thecurious)
Hey Casey you wanna talk about that
I'm waiting for the spacecore command when you're done with your website 
(I would stay and talk about it but I'm literally boarding a plane right now and will be going offline in an undetermined amount of time)
avi you can probably make the command yourself if you're impatient
I've been here for 8 years, cut me some slack!
Minus a couple hiatuses
I just don't feel like I should touch others mods with commands 
I need to get back to work on that. So much to do...




