#making-mods-general
1 messages · Page 290 of 1
well Custom Farm Loader is like, indistinguishable from its surroundings, so if thats the one with the highest number of dependents, then the others aint gonna be much better
could also simply be how mods with multiple requirements are displayed
(oh, you're right, a lot of mods do list it on nexus these days
)
i selected CFL and then zoomed out to view the entire thing at once again and immediately lost it
its in 105th place when it comes to dependents, though, with 19 dependents
but SVE CP has 461 and you can see how small it is still, so that kinda sets the scale expectations here
the purple cluster above GMCM is linked to GMCM actually, so its just that theres not enough to form a blob around it and GMCM is being pulled in two directions, which is why its a bit far away from them
The other purple on purple cluster above GMCM and to the left of AT is... Mod Updater?
im just surprised its got enough to have its own little bubble
I think that's plato's thing
yep, that's the plato one from 2020
(also nexus page requirements are not taken into account here, this is only manifest data. each mod listed as a dependency is given its own edge)
it would be fun to scale the dots by udl on nexus to see what's contributing the most
(and also each mod listed as a contentpackfor, which is being counted as a required dependency but i can differentiate them by colour later, just not in Gephi)
MEEP has a similar problem in that it isn't picked up in the mod stats because of how it's never a direct dependency.
It also has too few packs to make it into the dedicated list of frameworks in the stats, but still. 
I almost used that, but it required you to host the zips as files on github separately from releases, which was too weird for me
Though idk how to resolve this with already scaling with number of dependents
well you also have to remember this is the whole mod dump
its not a nexus dump
its nexus, curseforge, and moddrop
(de-duplicated with the nexus version preferred in cases of collision)
I wonder if you could scrape the logs on the smapi website to get mod usage metrics
arent the logs unscrapeable by design
It would of course be wildly skewed but still
I meant in the general sense
I'm sure pathos has a way to access them
also, even if i did get the UDL info for the nexus ones, i definitely do not have the special API permissions that Pathos does
i would absolutely tear through my general API limit
could always get them as sent on discord
i dunno how id do that without a custom discord bot or a userbot account, both of which i feel like the junimos are not interested in me having here 
the graphql api thing is interesting though, ill make a note of that
though, id worry that itd fall under their "Don't fetch data en-masse with the intent to rehost the info" thing on their acceptable use policy
Just gotta send PR to smapi.io ofc
i dont think pathos wants me to scrape data from logs that are meant to be ephemerable and not recoverable
can anyone think of any quests whose requirements are to see an event, basically? i'm trying to figure out how to write these completion requirements. i think the quest type would be basic
and i also do not want to do that
The graphql api kind of succ according to barley
Honestly it would be nice to have some form of automatic error reporting, although with harmony in the mix that would get hairy fast
Am I correct in saying there's no event command that will force the player to HOLD a particular item?
It gives up very readily
i don't think he'd mind if you're just getting numbers since @ocean sail does that anyway
is showItemAboveHead not what you want
no I was hoping to equip an item like a weapon and have them walk with it
barley is here to say the graphql api kind of succ but i think you could do what you want
but if you want to get things in batches be prepared to cry based on bad nexus update keys because the "get mods in bulk by legacy id" endpoint is not best-effort and will fail saying all mods don't exist if one mod doesn't exist
true, but given that logs can have personal info in them (via path directories and such), its still an extra layer of "do i trust Button enough to handle the scraping carefully?" that i just dont feel its worth it to ask Pathos to consider tbh, esp when itd just be highly skewed data anyway
all the logs you'd be able to get have censored paths
Selection bias for ppl with problematic old mods in their log
also i need to actually finish it as is first, i cant be accepting scope creep for my fun one day project already
oh boy oh boy
No i get doxed by better crafting everytime
me when better crafting posts my full name and address in my smapi log
follow up question would be does anyone know a good visual resource for farmer sprite frames? besides the wiki? I want them to do a throwing motion not sure if there's anything better than the tool/weapon use ones but I can play around with it
There's just the wiki page afaik
farmer sprites is kinda hell so good luck
the wiki page represents the sum total of my knowledge, at least
quick question if someone can answer
if i specify a dialogue line to occur in "Year1_spring_Mon" will that work?
so itll only be said in year 1 spring mondays
on the wiki page i saw it says you can set the values with using either a 1 for first year or a 2 for any year after that but not entirely sure what it means by that
"Year1_spring_Mon" is not a valid dialogue key in vanilla. You want "spring_Mon_1" I believe (the <dayOfWeek>_<firstOrLaterYear>) dialgoue key
(well it's valid, but it doesn't do anything)
Ah gotcha thanks
also one other thing if you dont mind
if i specify the hearts with something like "Mon2" does that mean it exclusively plays on exactly 2 hearts or is it 2 and above
it's 2 and above unless a higher heart level one exists like Mon6
if you want more control/options than the base game provides, you can use when conditions with content patcher to match all kinds of things... "dialogue spoken on mondays, when raining and you have 5 hearts with Abigail and 2 hearts with Shane and you picked the geologist trait" (for some strange exact combination)
does anyone know more about the mail flag NOQUEST_<questID>? there's no information about it but i'd like to use it if it means a mail flag is raised upon quest completion
it prevents you from getting that quest again (by mail)
but i do not see where it gets set
darn okay
i'm looking for a way to trigger an event to happen only after a quest has been completed
if the quest is some kind of item delivery, you can set flag in the response dialogue
For quest completion mail flags, the best methods I've found are to either include npc reaction dialogue with an action trigger mailflag at the end, or to use the questcomplete conversation topic in a trigger action to set it
it is item delivery!
(even searching back to SDV 1.3, I don't think the noquest flag is ever actually set, just checked for in the letter menu
)
so i would write the final entry in the quest to be "dialogue diaolgue$t{{ModId}}_CTName"?
im seeing i should use .net 6.0 but visual studio isn't giving me that as an option
did you install .net 6
I usually use action addmail mail_name_here
i thought i did
if i add it as a trigger action, what is the trigger?
make sure you're selecting Class Library as the project type, not Class Library (.NET Framework)
The npc response will be the trigger (so you talk to the npc at the end of the quest, and the action trigger is within their dialogue)
do you have an example of a trigger within dialogue i could look at? i'm just not sure of the syntax
what i would like to try and do is make farm layout. first time doing this kind of thing
u can do all that with content patcher
There are examples at the bottom of the trigger actions page, here's the one for dialogue:
"Mon": "Hi there! Here's 10g and a parsnip, don't spend it all at once.#$action AddMoney 10#$action AddItem (O)24"
You'd just do similar in the quest reaction text (how to add reaction text is on the quests wiki page)
One of my mods (sebastian's frog sanctuary) uses this a few times if you want an example mod to look at
ohhhh thank you i was looking on like the dialogue page and the quests page lol
Here's the trigger actions page if you're having trouble finding it https://stardewvalleywiki.com/Modding:Trigger_actions
Does someone know where the TV animations/display images are located in the game files
Note that this works well for itemdelivery and such quests, but some of the other quest types (namely monster slaying quests) won't let you do custom reaction dialogue atm so you'll have to get more creative (that's where the quest complete CT comes in handy since you can use that to set a trigger action in its own entry)
cursors
yeah i'm lucky it happened to be an item delivery quest lol but now that i know both of these options are out there i think i can figure it out! i'd only dealt with GSQs before or custom trigger actions with mail, not adding triggers through dialogue or anything like that
Which folder :P
loosesprites....
also cursors2 for the ones added by 1.5 (island and the fish channel)
Cursors is an image
There's also Cursors_1.6
but I don't think there was new TV in that one
just fun facts about the proliferation of cursors
I appreciate the help!
!unpack
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
This will be easier in the long run
I'm using mobile so just downloading the image directly by holding it and then packing it after modifying it is easier :V
how do i reload my content patcher mod without restarting my game(i think i saw you can, can't remember how though)
Mobile mod dev 
Truly you are yoba's strongest soldier
لا إله إلا الله محمد رسول الله
أستغفر الله العظيم
أعوذ بالله أن أشرك به شيئا وأنا أعلم و أستغفره لما لا أعلم
could you explain how to add tilesheets to me im not quite understanding that part. i am using tiled
Do you need to add them in Tiled, or in the game?
(also, are you adding custom or vanilla tilesheets, because if it's vanilla, save yourself some pain and start from one of the pre-existing farm maps where the vanilla tilesheets are attached already)
im using MMAP and it seems like a QuestionDialog inside a QuestionDialog doesn't work
can someone help? my entire mod is based around having a category and then you select from whichever category you choose
!json
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.
post your def
ok, why did my tempactor disappear. it loaded up just fine before, now that mf gone 😭
looks like it lets you go 2 deep before stopping (probably a debounce issue?)
try doing "test1" then "go to clint"
doesn't work D: (my entire mod is just that but at a bigger level)
it seems like if you go into a dialog from one nothing works :(
yea that is what i mean, the afterQuestion doesn't seem to be a queue 
ill see what can be done to fix it
so loading easel1 as a temp actor worked, but not 2...? wtf
Anyone know if there is a way for me to get a line of dialogue to use a portrait i cant put in with a $ number
is there any way of me putting the portrait file in and somehow linking it to the dialogue
its not going to overwrite any existing portrait
why can't you use the $ ?
Sounds like it's a different image?
well the $ ive been using seems to only go up to the number of portraits i have as my standard ones but this one is a seperate png
personally i would resize your portrait png and tack it onto the next row. i don't know of a way to call another file entirely
Yeah you can just make the image bigger
oh so it would work if i put the png portrait onto the existing one and it would then be the next $ number
yep! you can look at bachelor portraits for an example, they hold a lot more than the standard 6 portraits
If there's a number restriction for how long a portrait file is, it's pretty damn high
is there any sort of guide somewhere for resizing pngs to the right side and adding them on? im quite new at all of this
6 is bare minimum but yeah you can have as many as you want afaik
what software do you use for pixel art?
yelling at it fixed it. now onto my next quemshun: removing shadow from a tempactor: possible or no?
I dont plan on adding too many anyway
gimp
try using the crop tool or else look up how to resize an image in gimp. make sure you do it in multiples of 64 pixels, and always keep it to only 2 columns
i don't use gimp myself so idk specifics unfortunately
Right ok thank you
ill give it a go and most likely be back here when i end up doing something wrong haha
good luck 🫡
just remember when you resize to set interpolation to "none", otherwise it will antialias/smooth pixels
thanks
to my surprise i actually got it working on the first try
cheers for all the help
"When": {
"HasFlag": "thatflag AND NOT thisflag"
}
does this work to check if the player has thatflag but does not have thisflag?
You need |contains pretty sure
ok, just found it in the docs, thank you!
uhmm how do i make a recolour ? i wanna make custom tool sprites or wtv but idk where to start
!startmodding
thank you it works!!! :DDDDD
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually it’s easier to start with making content packs, since you don't need to learn programming.
ooo
Let me know when you need to release your mod, then I'll put this on nexus
!unpack you will also want to unpack your content files using this guide
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
okk
that will extract the .xnb files in your content folder into readable and editable data, in particular .png files which you can use as the basis for your edits
awesomeness
Hmm, I need some help with a shop. I'm having trouble with ClosedMessage
What do you mean by wtv tho
@brittle pasture: report the wood chipper issue (9h ago)
I have this action
"MapTiles": [
{
"Position": { "X": 65, "Y": 23 },
"Layer": "Buildings",
"SetProperties": {
"Action": "OpenShop {{ModId}}_PowerShop"
}
},
And this shop entry
"{{ModId}}_PowerShop": {
"Id": "{{ModId}}_PowerShop",
"Owners": [
{
"Id": "{{ModId}}_Open",
"Name": "AnyOrNone",
"Dialogues": [],
"Condition": "TIME 800 1700",
},
{
"Id": "{{ModId}}_Closed",
"Name": "AnyOrNone",
"Condition": "!TIME 800 1700",
"ClosedMessage": "{{i18n:Si.BC.BFNotBegun}}",
},
],
"Items": [
All the stuff from Items onwards works fine, the shop itself works perfectly
EDIT figured it out, should anyone else come seeking this knowledge see the comment below this one for what I did
good luck!
The closedmessage does not
EDIT figured it out, here's what I did:
"MapTiles": [
{
"Position": { "X": 65, "Y": 23 },
"Layer": "Buildings",
"SetProperties": {
"Action": "OpenShop {{ModId}}_PowerShop none 600 2600 65 23 1 1" // Added owner tiles and set open times to all day
}
},
"Entries": {
"{{ModId}}_PowerShop": {
"Id": "{{ModId}}_PowerShop",
"Owners": [
{
"Id": "{{ModId}}_Open",
"Name": "AnyOrNone", // Set to AnyOrNone
"Dialogues": [],
"Condition": "TIME 800 1700",
},
{
"Id": "{{ModId}}_Closed",
"Name": "None", // Set to None
"Condition": "!TIME 800 1700",
"ClosedMessage": "{{i18n:Si.BC.BFNotBegun}}",
},
],
"Items": [
I've tried adding open times to the openshop action, switching the name between Any, None, and AnyOrNone, and removing the {{ModId}}_Open entry; nothing works
Anyone see any issues with the code?
i wasnt sure if sprite was the right word so was like “a sprite or whatever” lol
someone posted this on one of my mods and I'm here wondering if debris does in fact stop the opening cutscene from progressing on a modded farm map?
hmm. if memory serves, the debris on your farm map is fully deterministic on a new save, so it should be easy to verify one way or the other
i suppose i can test it out and see
does anyone have experience making temporary animated sprites? i have these double-wide sprites that i was able to animate during schedules using spacecore, but i'm not sure how to add it to events, since they have to be animated manually. i had the idea of using temporary animated sprites but i'm not sure what arguments to put
texture would be the target of the load, right? how does it know which sections are a frame?
i don't know much about TAS but i'm picturing an extremely cursed event script with temporary actors and a sickening amount of beginSimultaneousCommand (i don't really recommend doing this unless you are a masochist)
don't worry i have to have temporary actors too :')
nope, the debris wasn't the issue. she has a clear path to the front of the farmhouse
so idk what else it could be
ugh. i found the issue. i had to move the house up a space
dangit i really dont want to do that. i like it where it is :/
can you can conditionally patch the map to have the house be one tile up only in the initial scene? or do you feel that would be weird
i dont know how to do that x.x
well i know there's a GSQ for IS_EVENT, although i haven't used it myself
a what
a game state query https://stardewvalleywiki.com/Modding:Game_state_queries
cant use gsq in when condition without dependency
aw man, never mind me then
dependency also wouldnt work her eanyway as token wouldnt refresh in time
sigh. i suppose moving the house up a tile wouldn't be the end of the world
Not too familiar with modding farm maps, but do you just need the house to be at certain coordinates? Wonder if adding an extra row to the top or side (making the map slightly bigger at an edge and moving the 0,0 coords) would be enough to shift that
no, unfortunately. i gotta move the house up
other option would be to edit the opening cutscene itself and that would create more of a headache
because then it would require translations
isn't the meadowlands farm house at different base coordinates? or am i misremembering
I can help you with this...
i think there's a special cutscene for meadowlands
nope
I only have experience from the C# side unfortunately but from the C# side it’s kind of a mess
I would try to copy something from a vanilla event
there is npc pathing to the front of the house
thank you! i've been using the wiki but i'm confused about the fields texture and rectangle. how does it know what each frame is set to be?
but if the house is in that pathing, the cutscene cant play
It’s picky about where the animation spritesheet lives, iirc
relevant events should be using Farm.getFrontDoorPositionForFarmer
I thought so too!!!@@
Texture is the spritesheet, rectangle is probably either the starting xy of the frame or the size of the frame (I forget)
Hi button
only reason it wouldnt actually match the door is if you have a FarmHouseEntry map property on the farm that doesnt match
hello atra!
Use a temporary actor who is double wide
so this is what i have temporaryAnimatedSprite Characters\\EdwinPayne 0 288 32 32 360 2 9999 48 91 false false 6 1 1 0 0 with Characters/EdwinPayne being where i loaded the spritesheet to
What should we convince Button to do today 😛
oh would that be better than a temporary animated sprite?
Probably easier tbh
i'll for sure try it
im not convinceable right now, im still fighting that dependency graph from earlier
Nope it can be anywhere
TAS is super easy imo
so would rectangle encompass the 32x32 area starting from the upper left corner of the first sprite?
how does it know to find where the next frame is?
Yes, if that's where your coordinates are. It just looks at the next square across for the next frame.
oh okay. so for the cricket bat animation (the second guy) i would tell it that it's 3 frames, and it would know to stop?
and does this mean that every frame has to be the same length and cannot be repeated
Yes and it depends. If you mean can you play 0, 1, 1, 2 - no you can't. If you mean can you play 0, 1, 2, 0, 1, 2 etc, yes you can. You can also do 0, 1, 2, 1, 0.
oh yeah it can loop and pingpong but not 'pause' on a frame, got it
On phone but it looks okay to me. Try setting your condition to something without negation just in case. Like TIME 610 800.
No dice 
temporaryAnimatedSprite Characters\\EdwinPayne 0 288 32 32 360 2 9999 48 91 false false 6 1 1 0 0 0
i don't get any error in SMAPI, but he straight up doesn't show up. he also disappears, but that's desirable because i warp him away right before to replace him with the TAS
wait nvm i needed a decimal point in there!
I must have gotten confused between another constructor of TAS and the one that events exposes
But there's one flavor that's specifically the animations spritesheet i think (maybe only in C#)
There's also a confusing number of event commands with temporary sprite in the name and two of those have restrictions on spritesheet location
events are probably the biggest area that 1.6 lightly touched for extra validaiton and stuff, along with tooling to help language consistency, but didn't outright change.
Events being a spaghetti string delimitated list with weird encoding and formatting rules (including sometimes using backwards slashes to encode steps that are nested) is a weak point that should be overhauled, but that is modpocalypse territory without modrewriters being ready and waiting
Did get named preconditions, but legacy events weren't allowed to use them for backwards compat
im using stardewui and am fiddling around with it, i am wanting to reference the achievement (platform sprite), is that stored in the games files or is it just best for me to get them separately?
A simple UI mod that displays the name of the item you are holding for a few seconds https://www.nexusmods.com/stardewvalley/mods/33267
everything in the game is in the game files - sometimes it can take a bit of hunting to find it
yeah i have looked, i believe the platform icons for the achievements are not stored in-game as the ingame achievement icons are the stars
Can you share a screenshot of the image you're talking about? I'm not sure what the "platform" you're referring to is
for a vanilla TAS, where can i find the texture for monsters?
would it be Characters/Monsters/Ghost?
Characters/Monsters/ then any monster names
Angry Roger
Armored Bug
Armored Bug_dangerous
Assassin Bug
Bat
Bat_dangerous
Big Slime
Blue Squid
Bug
Bug_dangerous
Carbon Ghost
Cat
Crow
Duggy
Duggy_dangerous
Dust Spirit
Dust Spirit_dangerous
Dwarvish Sentry
False Magma Cap
Fireball
Fly
Fly_dangerous
Frog
Frost Bat
Frost Bat_dangerous
Ghost
Green Slime
Green Slime_dangerous
Grub
Grub_dangerous
Haunted Skull
Haunted Skull_dangerous
Hot Head
Iridium Bat
Iridium Crab
Iridium Golem
Lava Bat
Lava Crab
Lava Crab_dangerous
Lava Lurk
Magma Duggy
Magma Sparker
Magma Sprite
Metal Head
Metal Head_dangerous
Mummy
Mummy_dangerous
Pepper Rex
Putrid Ghost
Rock Crab
Rock Crab_dangerous
Royal Serpent
Serpent
Shadow Brute
Shadow Brute_dangerous
Shadow Girl
Shadow Shaman
Shadow Shaman_dangerous
Shadow Sniper
Skeleton Mage
Skeleton Mage_dangerous
Skeleton
Skeleton_dangerous
Spider
Spiker
Squid Kid
Squid Kid_dangerous
Stick Bug
Stone Golem
Stone Golem_dangerous
Tiger Slime
Truffle Crab
Wilderness Golem
thank you!
should decompile so you can actually look at the images to get the correct size of image
i have the images, i just wasn't sure how they're assigned in the actual code :)
that smiley isn't meant to read as passive aggressive
hmmm, i guess i need to make a "more" section or something along those lines
btw for anyone wondering these are teleports to sunberry village
How do you get the overlay of the leaves and stuff floating around, like in the secret woods ?
i thought that was simply from weather debris on windy days?
i suppose you could force it by creating a new location context that exclusively uses windy weather, and assigning that in your location data entry
but it'll also come with pshhhwooowwshhhwooshhwh effects
Specifically the floaty leaves
might be an SVE thing actually, I was playing with mods when I saw it and was like 'hm yes this would look nice on my map'
is there a mod that allows me to see the ID of an item that i have in my inventory?
idk but there's this list https://mateusaquino.github.io/stardewids/
sure does, but the leaves are either mod-added or weather debris
where is the junimo plaque thing located?(like the sprite)
yes, and the one that is in 3 frames is the bulletin bundle
I want to do something with CP tokens and GSQs to return true on every 3 days rather than manually list out every day number that is true. I want to use the CP modulus (%) operator but I'm not 100% sure how to. would it be something like this?
"Condition": "{{Query: ({{Day}} % 3) = 0}}"?
I'd be fine with listing out every day number, but a player has informed me that they play with a mod that extends every month to be 56 days long asjhksfjdsfs
you can do https://smapi.io/json/none/a8c063c0c23b4c3a8f32bb6232797ade to just add an action to a spot, is there a simple thing like that to remove the "Buildings" layer in three spaces?
funnily enough this makes the condition proc on day 10 rather than day 9
across the board, I believe whtas happening is that the CP token {{Day}} evaluates after produce has appeared on that bush for the day, therefore {{Day}} evaluates as 28 on day 1 and 1 on day 2, while the GSQ DAY_OF_MONTH evaluates correctly as 1
So what I did was write "Condition": "ANY \"DAY_OF_MONTH 1\" \"{{Query: ({{Day}} % 3) = 0}}\"",
This is more intuitive for players anyways since they would expect the bush to produce on day 1 of its valid season
you can remove a map tile with Remove
I need to do something about NPCMapLocations and NPCLocationCompass if I want to play with this many npc's 😦
Those spikes do feel familiar to my experience!
is that every 10min
like every tick
trace console is screaming with profiler being angry
zoomed in more to actually see individual units better. the darker bars are locationcompass, lighter (and more frequent) is npcmaplocations
woah how many npc's is this on
just don't play game until cam's mod is out ez
intro quest is in the mid 150's, no idea how many more that are exempt from the intro quest
what's cams mod?
google maps mod that pathfinds you to an npc
its active start/stop navigation rather than passive on all the time
tbh I need the mods less for myself but for the online multiplayer farmhands.
the lag is from serializing and networking the location data to the other clients as farmhands can only see their own map (and other active locations)
hm how does BETAS perform for you?
because it has these npc position related GSQs https://stardew.button.gay/docs/betas/queries#NPC_LOCATION
it is indeed sending broadcasting npc position all the time
button did a fair bit of caching tho so it might be better 
ok taking a brief glance at BETAS code, it will probably be fine
Lookup Anything
- its never more than once a second (LocationCompass runs at a 1/4 second frequency and npcmaplocations is config but defaults to half second)
- only networks the delta
- even is clever and runs on a tiered cache system to save time even checking locations
Is there another performance mod in the works? 
It's not a performance mod it's a navigation mod. Navigates you to places and to NPCs. It's very cool. Cam has been developing it in the SBV server. I would link their thread but my discord has decided no linking threads or channels for me. It's a thread in #modmaking.
ig npc map locations does have to check all npcs all the time tho 
Vanilla files are organised exactly the way their asset is named, so for example if you find an image called Frog.png inside Characters/Monsters you can safely know that the asset name is Characters/Monsters/Frog (without the file extension).
Yes that is how chu has been referring to it haha
googly maps
ok looked it up now, very interesting, but without multiplayer support I'm stuck with npcmaplocations + locationcompass
Realistically:
- Npc map locations could probably just send data when the farmhand opens the map
- Location compass could send the "deltas", only cares about the map of the npc (not the precise location) until an npc steps on your map
Neither seems hard to do.
(+ when an npc steps on your map their location becomes accurate anyways)
Will this work...? Or will tokens get messed up 😅
{{i18n:<key>{{random:1,2{{WizardFemComp}},3}}}}
tokens run inside out, so yes it would work
Nice, thanks
Is it possible for us to have a mod activate the self-service bus ticket and Saloon purchasing that the game uses when Pam and Gus leave their stations for Ginger Island? I'd like to make them leave for a bit of social interaction time
there's a mod I believe that makes every vendor self-serve so im sure that's doable in some capacity
Hmm, there is indeed a mod that enables the bus without needing Pam but that's a dll mod and doing C# is still outside of my ability right now 
ah you might struggle without c#
I'm sure there's a mod though
hi, does anyone here do mods for commission? if anyone here's able to do a mod to hide hud elements dynamically please DM me
!comms
If you're looking for people who do mod commissions (either art or code), here's a wiki page with a non-comprehensive list of people who do them: https://stardewmodding.wiki.gg/wiki/Stardew_Mod_Commissions
I'm not your guy but out of interest what display thing has you annoyed enough to pay to get rid of it
Hmm, okay, I guess the best I can do is recommend players use this mod and the Pam mod if they don't want to be inconvenienced by them wandering off then, thanks for the info 
i like hudless gameplay and im in love with minecraft's autohud
the idea of just fading out things as theyre not currently in use is lovely to me
might not be the best you can do to be fair, someone might have a better answer for you but that's an answer that means it's not your problem at least
Pam will automatically put out the sign if she isn't there
If you don't give her a schedule point on busstop that is
Oh, for real? That's perfect
Never would've thought it's coded to be controlled by the schedule point
actually I'm not the fool but I'm the fool for saying I'm the fool as it appears self serve doesn't apply to Pam's
which now makes sense
There was a separate mod I found for Pam that was also a dll
I guess for Gus then I could work around it by making the shop openable without someone at the counter only on the days I plan to make him leave 
These are both fairly hardcoded yep
For Pam bus the central station mod lets you take bus stop -> central station -> desert all the time
And this is imo the better shops open all the time mod 
https://www.nexusmods.com/stardewvalley/mods/31770
How do I turn on "snap to grid" for TileData in Tiled?
I could have sworn it was by default when I used it before reinstalling
View -> Snapping
I'm blind... thanks 😅
is it possible to make a chest-like container open on a tile/touch action?
Hmmm global inventory tile action...
I don't think any map things framework has it, but you do sorta get it with special order drop boxes
Hello, I have a question about spites/animations/schedule.
Abigails schedule says:
Abigails "fall": "900 SeedShop 39 5 0/1030 SeedShop 2 20 3/1300 BusStop 22 5 2/1700 SeedShop 3 6 0 abigail_videogames/1930 SeedShop 1 9 3 abigail_sleep",
How to you define custom animations? Like "abigail_sleep" and "abigail_videogames"? :))
data/animationDescriptions
It's explained in the "animation" section of the table here: https://stardewvalleywiki.com/Modding:Schedule_data#Schedule_points
thank you! 🙂
Out of curiosity... how much would I break my game if I swapped all the "Update": "OnTimeChange" to "OnLocationChange" in my mods folder 
probably not that much
Time for an experiment
OnTimeChanged is sometimes a necessary sin depending on what the mod is trying to do, but should be avoided unless absolutely necessary. Sometimes it seems like mods choose that because they don't know any better.
Yeah, absolutely true
I see way too many in places where there's no reason for it to be there
It's not too different from C# mods that run their main loop code way more often than they need to
Like every game tick when every second would suffice
Replacing all OnTimeChange in a loadout of 350 mods reduced handling time of GameLoop.TimeChanged by half (69ms to 34ms) for me
I wonder how many of these were actually needed...
maybe 20%? (wild guess)
I might just roll with it for my playthrough and see if anything is obviously broken 
Got it
Mining bitcoin on time changed is fine right
Of course it is. Otherwise, imagine all the wasted cpu cycles.
I am once again requesting a Content Patcher OnGameTicked /s
I'm kinda curious where is the 34ms still coming from if there shouldn't be any onTimeChanges in CP packs
(unless I'm reading profiler wrong)
is there a way to delete your own comments on nexus? my replies to people posted like 10 times 😭
not directly no
You can hide comments if it's on your mod page, I thiiink it's the same as deleting..?
yeah, the "manage" -> "hide and optionally report post" option is effectively a delete, assuming the comments are on your own mods
There is a display issue currently on nexus
That makes it SEEM like your post is like nine million times
Refresh thr page first, see if they vanish
oh I see item extensions can do something related.
I spent a few days trying to make my code work if anyone can help me out with C#? I have this code that seems to work only problem is the light doesn't stay permanently on the item.
If you want the light to follow character you need to reposition
Hey can someone pretttyyy please draw for me the mods and i am going to codding them?:>"
PS: DM me and you can also you then use the mod that you created with me<3
!commissions this is also helpful
If you're looking for people who do mod commissions (either art or code), here's a wiki page with a non-comprehensive list of people who do them: https://stardewmodding.wiki.gg/wiki/Stardew_Mod_Commissions
(A good example is how ring lights work in the game, or look at how equipment lights work in atracore)
I hope I'm in the right channel but I need help with making a mod. I tried following the tutorial and I thought I did everything perfectly but it's not working 
what are you trying to do? also consider uploading your log and json here so we can see
You’ll have to explain more what exactly you tried
Also which tutorial is helpful info
Heres what I've done, I'm just trying to first figure out how to upload a hair before I get into designing it shkjsgdk
Ill also grab the tutorial link :o
(given the amount of effort i put into it (not an astromical amount, but more than i needed to compared to others evidently) im very happy to see it called clever and not a waste of time to implement
)
i haven't dealt with FS at all, so i'm not sure i can help, but i worry that that tutorial may not work with the current version of the game, 1.6. it's dated from july 2023. if someone else has more knowledge they may be able to help you
Thank you for trying, I appreciate it ;v;
also if anybody good at FS happens to know why part of an accessory changes color when you layer on another one even if I have color totally disabled for it and why that part would also just VANISH if I try to use masks to make part of it uncolorable, that'd be swell.
because man I'm out of diagnostic options
That tutorial should be fine, since it's from FS itself
what part isn't working exactly? What does your smapi log say?
I'm not sure how to fix this 😭
it's better to send the logs via https://smapi.io/log rather than screenshots... but that looks like you don't have the image for it anywhere..
where is your hair.png image?
Im struggling with the link but heres a screenshot hsdkjsdh of it
The hair code is right next to it?
OOOOHHHH wait wait how did you figure that out?? :O
because that's what it says in the error you showed a moment ago
"no associated hair.png given"
it looks you don't have show file extensions on
so maybe the file is actually named hair.png.png
view -> show filename extensions on Windows
!fileextensions
Windows and Mac hide most file extensions by default. If you are creating or updating mods, it's helpful to show file extensions so that you can be sure all mod files are named correctly.
To show file extensions on your computer:
On Windows 10, open File Explorer, click on the View tab, then check the File Name Extensions box.
On Windows 11, open File Explorer and click on View > Show > File Name Extensions.
On Mac, open Finder, and in the menu bar, click on Finder > Settings (or Preferences) > Advanced, then check the Show all filename extensions box.
Oh you were right!! It was this!! :O
Quickly testing if it works now
OMG IT WORKED
You guys are life savers!!!! If I could I would give both of you big hugs ;v;
has anyone got experience with StardewUI here? im following the docs to learn right now and im coming across a couple issues like Input string was not in a correct format and the conversion from a Tuple<Texture2D> to a Func<Texture2D,Recangle> which i have very little experience with lols
i havent, but its creator does have a thread in this channel that they posted in about 10min ago if you wanted to ask for help there
Button did you have any luck with expanding the movie tiles horizontally?
i'll have a look thanks
how do i do math in content patcher?
what im trying (a dynamic token)
"Value": "Query: {{GalaxySwordMin}} / 2",
what im getting (smapi log)
Could not convert string to integer: Query: 100 / 2.
You're setting the value to the literal text Query: ..., instead of calling the {{Query}} token:
"Value": "{{Query: {{GalaxySwordMin}} / 2}}"
thats what the usage examples in the documentation show... ill try, ty!
im guessing patch reload doesnt update dynamic tokens...
!reload
- Content Patcher pack: enter
patch reload <your_mod_id>in the SMAPI console window. This will reload and reapply all your patches (but won't recalculate theConfigSchemaorDynamicTokensections if you use them). - Translation files: enter
reload_i18nin the SMAPI console window. If it's for a Content Patcher pack, also runpatch reloadafterwards. - C#: see the Visual Studio hot reload or Rider hot reload feature.
i did! then i tried to fix the syncing of the music to the frames and gave up
i wanna go back to it eventually, just very busy atm
(to clarify this, the examples that dont have the outer braces are for the keys of the when conditions, which must have the outer braces removed. the examples that use the query token in the value (on the right side of the colon) have the braces)
aha ty
When conditions must always have the outermost braces removed, whether its a Query or a Season or anything else
i tried that but patch reload didnt reload the dynamic tokens i think. so now im restaring the game. itll be another twenty minutes or so
that govbot command says it wont reload dynamic tokens
I'm looking at the Spacecore Guidebook documentation (and rewriting/reformatting it for my own understanding), and I have a terminology question based on my CP knowledge: Are data models and dictionaries considered the same thing?
dynamic tokens and configschema are immune to patch reload
mhm
dictionary is a type of data model, i beleive?
i dont know if there really is a formal definition of what a "data model" is (i could be wrong)
ive always just kinda thought of it as just, the term the community decided on. it does model data that is true tho
not all dictionaries are data models though
in the context of most stardew though data models are often dictionaries
I'm still not sure what the actual unit of time is for "messagedelay" in the movies... I initially thought it was milliseconds, but I feel like it can't be, as I set it to 1 for that -all frames- version and it played fine, and definitely was not 1ms per frame, I can only assume it's linked to framerate.
Trying to figure out how I'd describe a Guidebook entry to be more accurate. It's a series of fields and dictionaries enclosed in a { }
importantly, to be a dictionary, everything on the left of the colon must be the same type and everything on the right side must be the same type
(excluding, ofc, object types which everything is)
(i mean you can do a dict of object to object i guess...)
Basically, if it's nested, is it a model or a dictionary? Or does the nesting not matter as far as the term used?
ok this is not the meaning of 'data model' im familiar with then
unless youre including like book dictionaries
colloquially i wouldnt call Characters/Dialogue/Pierre to be a data model
but it is a dictionary
something being nested also doesnt preclude it from being a dictionary or a data model
i mean, a data model is a more meta thing. that file is an example of a dictionary, where a dictionary is an example of a data model?
hence, "colloquially"
I'll leave the already existing terms the same to be safe, but as far as this one: Pages - A list of pages, which are objects containing the following values:
Would they be object models?
In terms of assets, data models are structured in a specific way because they are backed by a class. As opposed to dictionaries and lists which do not have predefined elements
ahhhh okay i gotcha ty
wren describes it much better
an object in json is just a {} section
but its not an Object Model
in my defense i learned this in russian lol
an Object is a Dictionary though, in json
just not called a dictionary
im not sure what the context of the documentation is, but i would call it a List of PageData objects, or Page data models
I guess in my head, I'm comparing the structure of pages to the Home system in NPC data, and so I was thinking in those terms.
I just had an interesting idea. It would be fun to design an "Omelas" mod for Stardew Valley based on that Ursula K Le Guin short story that appears at the endgame
If you want to get technical, json has no concept of objects, only maps and lists
Since it's a list [ ] with key/value pairs further enclosed in { }
this is the example code Spacecore links: https://gist.github.com/spacechase0/18743e1ead1c33fadc807040fdb3626c
ive only ever heard em referred to as objects and not maps, though the difference is technically meaningful i spose
So you can see how those blocks are laid out
you can do it! its a bit beyond my tolerance for sdv tackling dark shit, but it does sound fun for someone whos not me
See this is why I like things that are planned instead of just being hodgepodged together
but yeah wren described it much better than i did, whether something is a data model or not id say is whether or not its backed by a class that expects specific things
and since each PageData object expects specific things, since presumably its going to be deserialized into some PageData class on the C# side, its a data model
wheres Characters/Dialogue/Pierre is also a bunch of objects, but you can put any key value pair you want in there, as long as its string -> string
a bunch of pairs* not objects
the entire thing is an object
but its not a PierreDialogue data model
its milliseconds. all movies are actually just Events constructed at runtime. each scene adds a /playsound command, then the /playmusic command, then a /pause <messagedelay>, then a specificTemporarySprite command, then the /message command
It's a fleeting idea but I would wonder how to implement it
ok now im getting a new error!
Could not convert string to integer: 120.0.
i think this is the result of the query. its a float that got turned into a string and now wants to be an integer
that might be something to do with content patcher not being able to determine what type the token will be at runtime and so it cant correctly treat it as a float (bc it could just as easily result in a string or a bool) and thus not auto convert it? just a guess. probably a question for Pathos
i think Round should do it?
i swear ive had this exact problem before and handled it with something content patcher has
round looks like it should work
guess there is some added delay that happens with lower numbers, when I initially did it I worked out the maths for the correct ms delay between frames and it just played too slow, set it to 1, and it just played correct, but 1 frame per 1ms would be too quick, or may simply can't run that many frames that fast so it's pure coincidence... but I'm abusing what the file is even designed for soo doesn't matter too much :p
theres probably just more than 1ms of overhead in parsing and running all the event commands
but i didnt feel like figuring out how to do the math to calculate how many milliseconds would be just right when we're only playing every 3rd frame
the one i had it was at 68 which played fine for me with the missing frames
it was pretty off for me! dunno why. the movie ended but the song kept going for like a minute more
So big hats can break UI mods, I knew they were powerful, but damn 
so that worked, it's no longer complaining. now its just inexplicably not working. patch applied. the numbers as per F1 are the same. am i looking it up wrong
oh well zzzzz time
thank yall <3
Use the Round token
yeah ty i did and it worked!
Question! How would I load custom farm type data from Data/AdditionalFarms?
var farms = Game1.content.Load<Dictionary<string, ModFarmType>>("Data\\AdditionalFarms");
This doesn't work I think :3
Try DataLoader.AdditionalFarms
In general if you're loading a vanilla asset, please use DataLoader
Gotcha, I wasn't using that before. How would I go about setting up a LocalizedContentManager?
(you probably do not have a compelling reason not to)
I've used Game1.content a million times and never realized its type was LocalizedContentManager until now
So I saw the method required a LCM, and just went "Wat dat"
Hm okay I now have the ModFarmType data but it doesn't have what I need
How would I get the location data of a custom farm? :3
(I need the fish stuff, surprise surprise)
the data/locations entry key should be Farm_<farm id from additionalfarms>
if it exists. which it may not, so dont assume it does
well, time to figure out why Spacecore thinks I have a null or empty asset name when I try to run the triggeraction to open the guidebook
I would use Game1.RequireLocation("Farm").GetData() if all you need is the current farm type's data
Button is correct, but I will also note that it falls back to the general Farm entry for location data if no specific entry exists
GetData() of course handles all of that logic for you, but only works with the currently selected farm type
Oh that’s perfect! Exactly what I need
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 9 C# mods and 4 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
What am I doing wrong when trying to run the guidebook trigger action?
you dont seem to have a TabIconTexture for your Chapter
ah, I missed that the Tab texture was required.
Lemme try again, I'll just borrow the one from S&S for the moment to test with.
okay, it opens now but my pages are throwing errors, so back to looking at my code again. Thanks for catching the tab icon thing, Button!
Hey, guys! Brand spanking new to mods -- I'm about to post my first, and wanted a bit of advice! I'm really wanting to make sure I do this right and give absolutely everyone due credit, as is deserved ❤️
I've seen Nexus modders upload header images of a mod they've made that includes custom content made by other people (example: someone posts a screenshot of a mod they've made that reskins an NPC, but their farmer has a custom hairstyle created by someone else). Am I okay to put these screenshots as my mod's header image as long as I link the other modder's content in my mod's description? I'm not really sure what the general ruling is on this since I'm new to the scene
it's definitely common practice to have a list in your mod description along the lines of "mods used in screenshots:" and listing all the stuff that shows up there
It's angry at something in the BBCode for the page formatting I think. I'll post the i18n in case anyone feels like looking at it while I go start cooking dinner, but it should be almost an exact copy of Mateo's entry from S&S, so I'm very confused.
i18n: https://smapi.io/json/i18n/574d373ba2854fb4a9b77802cb3547fb
"guidebook.chapter.Characters.Malon" is the page content that isn't loading.
Fresh error log: https://smapi.io/log/12367bae42e04ee4809ead0fcde20c63
Update: Apparently the comma in "the children of Pelican Town, Komali and Medli" was the issue? Not sure why but it works now that I've rephrased it to remove the comma.
Thank you so much! I want to be clear, I definitely planned on doing this, but just wasn't sure if it was a no-no to be showcasing others' content to begin with, you know?
it's fine! i think most mod authors would be happy to have another mod tacitly, or maybe even explicitly, endorsing their work
That's what I was feeling, too, but was feeling extremely nervous as a first-timer 💀
I didn't wanna disrupt the conversation, so I've just edited my message. ❤️
Oh crap, I'm real sorry, I fully interrupted, myself ._.
nah, it happens
My issue is frustrating and likely gonna take a lot longer to answer than your quick etiquette question. ❤️
don't worry about it. it's a fast-moving channel and people frequently have multiple convos going in here
Yep, it's fine, I just wanted to make sure all my stuff was grouped together some kinda way
When iterating through Game1.objectData, is there a way to tell what mod, if any, added that item to the game?
your best bet is to hope that they prefix the item id with their mod id(aka the way lookup anything does it)
if the ItemId doesn't contain a period, is it safe to assume it's a vanilla item? Assuming modded items would use format "{ModUniqueId}.{ItemId}"
not really, modders are free to name items whatever way they want
cornucopia for example uses "Cornucopia_Avocado"
you guys are all so nice thank you so much ❤️ (tried to send this five mins ago, but i'm a super dingus and timed myself out for trying to send it in tiny font)
@steady gale your message got flagged by the auto mod, I removed the timeout
LOL thank you so much!
there is no 100% way to determine if an item is modded or vanilla unless you break into SMAPI itself
so sorry also for the direct reply, did not mean to do that
Yea we have the tiny font blocked cause scammers like to use it
ohhh, I see I see, the more you know, thanks!

well you can always hardcode a list of vanilla items...
that aint 100% either, as it breaks when the game updates
then it will only break when 1.7 l- yeah
also, a mod could remove a vanilla item and replace it entirely with their own
hmm so what are all the most common formats that modders use to name their item ids?
I mean that'd just be a retexture right, but we digress
UniqueId_ItemName
you can change all the other data about the item too, not just the texture
they use underscores, not periods?
the uniqueid typically has a period in it
but UniqueId_ItemName is the convention yes
Q
Why do you need to know vanilla items?
There is a way to do this
You just instantiate your own LocalizedContentManager and load the asset
xnb mods?
well now we're just movin goalposts /lh
at this point I feel like we should ask what they are trying to do
is this an informational thing?
atra just did
well my mod adds bags to the game that can store items inside them. a lot of users create their own bags for my mod to load but they have to painstakingly specify every item they want the bag to store. so I was just looking into adding a new feature where the users could define a set of filters to retrieve the items instead of explicitly listing each item. One of the filters I wanted to make was something like a "FromMod:{ModId}"
have you tried item queries
also side note - have you considered context tags
context tags my beloved
yes context tags would be another of many filters I was planning to support
(i dont think they were only gonna filter by mod id yall
)
things like filtering by category id, context tags, id contains, name contains etc
item id prefixes can work, not a lot of mod omit it nowadays
starting with uniqueid is the convention, but not every popular mod does that
/sweat
but, this is basically one of the main reasons theres a convention for this sorta thing, as just checking for the conventional format will be good enough for a lot of cases
not all cases, but a lot of them
SOME mods by SOME mod authors who may or may not be here will be UNBAGGABLE /lh
you can specify a list of mods, or have the user manually specify a prefix themselves
Yeah, my dear nearly a square number
assuming this is a UI thing
I mean, if you were planning to sort which items belonged to which mods by what was in their itemID, I feel as though just checking if the itemID contains X would do the same thing, no? (As in you don't need to make that filter)
atra! we're adding kale in the next update
however, it won't work for NPCs. almost every NPC omits it
Purple kale?
New spitirual successor to item bags, NPC bags
6480! I'm planting Thai basil this year
if you really wanna take it a step further, you can give the user the ability to designate an item as being from a certain mod, and store that in some data in their save folder or mod folder
and load it next time
Well, I figured out my issue, in case anyone's curious. Apparently commas inside the i18n Page Contents breaks it.
I rephrased to avoid the comma and suddenly it works.
I wonder why this is often the case lol, I guess lots of people used the NPC creator?
(it was broken outside of i18n too, so I think SpaceCore just isn't escaping the comma somehow in the Guidebook page Contents)
people dont want to type their mod id everywhere and want to pick something more interesting for their npc's internal name
like the last name, etc
i think it's partly inertia and partly people don't want to type out a long-ass NPC name in event scripts (use a dynamic token)
the Baldur's Village devs are lucky Larian gave their NPCs wack names like Wyll with a y
modders have more or less collectively decided that The Convention Does Not Matter for their NPCs. i will continue to politely disagree
i have strong feelings for my OC but i never considered her raw internal data to be part of that. babygirl i will make you SO compatible, i would type out a thousand tokens for you
I have strong feelings about my OC too
to be faaair....
(it's even easy to convert the name after the fact! there's a field in the NPC data that will do all the work for you! it's fine! grumble grumble)
the NPC tutorial that we always link does not use the mod id
That's why my OC will feature only on some backwater part of AO3
Yeah, @brittle ledge
that too. lots of long-in-the-works NPCs don't use it and those are the best examples everyone uses all the time, so it persists
Is there a way to tell if an item is donateable to the museum without instantiating it? I dont see anything in ObjectData/ItemMetadata/ParsedItemData
there's a context tag for it if memory serves
hmm ill have to find a wiki page on the common context tags
i think anything of one of the correct types is donatable unless it has the not donatable tag, but i forget what the tag is offhand
theres a context tag for it being not donatable
I am victorious:
ObjectData.ContextTags documentation says "The custom context tags to add for this item (in addition to the tags added automatically based on the other object data)." Any ideas as to what other tags its referring to that are added 'automatically based on other object data'?
not_museum_donatable
the Added Automatically section
hopefully that tag is on the ObjectData object
theres a static method in LibraryMuseum
LibraryMuseum.IsItemSuitableForDonation(string itemId, bool checkDonatedItems = true)
oh nice, thanks
or look at the source code for PopulateContextTags
actually thats just up to your choice ig. if its false it will check if emerald is donatable normally, even if you already did donate it
otherwise it will return false if its already been donated
yea I would make 2 separate filters for that. Some users might want to make a bag that can only store items that they still havent donated
(apparently, there is also a museum_donatable tag...?)
i guess you can just make anything donatable then as long as its an object
It's because the majority of NPCs are 1.5 or earlier when it wasn't a thing, and they can't convert without breaking compat
I think I mention it in the tutorial, but it's not in my examples because that's all Jorts and Jean or Wren, both of which are 1.5 era
(I know Wren just released but she started three years ago 🙈 )
If there was a way to tag my NPCs as being from my mod without changing the internal name, I'm all for it
mmm I do mention it but I recommend just pre/suffixing, I can edit that
Hi...Sorry for interrupting the conversation. I am working on a new NPC mod,if I wish to make them to be a roommates instead of spouses (just like krobus). Then what should i do
,I have no coding experiences
!startmodding
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually it’s easier to start with making content packs, since you don't need to learn programming.
https://stardewvalleywiki.com/Modding:NPC_data#Non-Krobus_roommates this details how to make the roommate proposal item
i think with the correct item and "CanBeRomanced": false you get krobus-like roommate behavior
If you do well with examples, Lavril and Juna are both roommate-able!
I thought Lavril was broken
I see! Thanks a lot!
in that one function anyway
(I think Juna is updated for 1.6, Lavril may not be. Moon from Sunberry is also an example but uh I don't reommend using an expansion as an example because they're huge 🙈 )
Lavril was updated iirc 
I know Ark had issues in early 1.6 not because of the update but because all the ES maps changed, I don't know if that's still an issue
It was updated, but I have heard multiple times that the roommate part doesn't work
Huh. Mentioned that to Ark?
It's been reported several times on the page
Didn't want to be the however manyth person to mention it
So I won't be able to let Void take a swim in the cauldron every morning 
I mean there is the FormerCharacterNames field for migration.
Which will fix the save and migrate relationships etc, but I think events and other stuff doesn't query it.
Nor would cp patches targetting the wrong name
Was a thing ideally used when migrating to 1.6 to begin with, trying to do it late after the fact is more difficult
Would you be okay changing your examples to use {{ModId}}_ even though it's not in your actual mod? You could have a footnote explaining the difference between the tutorial and your actual mod if you were worried that people might compare them and then bring it up.
Yeah other mods targeting the internal name is the problem
It's why we can't even prefix RSV
Ooh I didn't think of that, I must warn Void.
@formal crown Kedi! I've identified that VPP is incompatible with my mod, due to behavior changes with legendary fish. Do you mind if I take a look at your Git repository and see what's what?
it's public here: https://github.com/KediDili/VanillaPlusProfessions
I have it open already! I just wanted to ask and be courteous
I dunno the ethics of this stuff
if it's public, you can look at it
whether or not you can distribute the code from the repo falls under its license, but you can absolutely look at the repo if it's public
Some people also prefer to be asked before being sent a PR, I think (Pathos does iirc?) but I don't know if there's any way to even tell if someone has just looked at your repo
also no one can (or should) stop you from looking at files on your computer too so even if it wasnt public, ILSpy helps
Very fair! I also felt it worth getting three birds with one stone and letting them also know about the incompatibility (and maybe they magically know exactly whats wrong a girl can dream)
Pathos likes being asked about PRs ahead of time just cuz it might save you time if he says he doesnt want the feature or has a specific way he'd want it implemented
instead of you working on it, submitting the PR, and then being told to scrap/revamp it after
@ Pathos I wanna PR every mod you've made and add a random silly log message in all of them, you down? /j
A very courteous and wise policy imo
i agree! dont get it confused with him explicitly not wanting undiscussed PRs tho. PRs always welcome still, afaik
a HUGE thank you to everyone who helped out a lil newbie like me to create my very first mod!!! she's up on Nexus now, and I am still freaking out a little LOL
Hooray!
Good luck! I hope you don't have too many bug reports (those stress me out so bad omfg)
I think all my PRs to Pathos was unsolicited 
how do you tell the game what animation to use at Ginger Island?
How do you handle probabilities above 1
There are a number of hardcoded ones that exist
sorry, for a custom NPC
...that I swear I documented somewhere but apparently not
it's not in GIMA's stuff?
I think you told me ages ago but uh good luck searching that
please hold
_chair is all I remember because I use that for Wren
Found these ones on the modding wiki:
"<npc internal name lowercased>_beach_towel": "#/#/#",
"<npc internal name lowercased>_beach_dance": "#/#/#",
"<npc internal name lowercased>_beach_drink": "#/#/#",
"<npc internal name lowercased>_beach_umbrella": "#/#/#",
Yes!
Ahhh I see what you mean! Everyone has an animation on their beach tilesheet
that's hardcoded in
okay, got ti!
there are more that will play a matching animation if applicable (e.g. _Bar). but those three cannot be selected as resort activities unless the animation is defined
mfw it's for Emily dancing in her bikini
And yes <npc internal name>_beach_chair is also one.
This is about the dialogue keys though isn't it? Those three keys require the matching animation to be defined. I would assume you can define the animation without a dialogue key though.
Currently just storing probabilities as a float! Haven't set up any equations for spawn chances yet
you can define whatever animations you want, but the GI code for NPCs tries to select activities at random and checks for matching dialogue/animation keys as part of the validity check
so if it tries to pick "towel" for your NPC's activity, it will check for there to be a _beach_towel animation. if it's missing, it will cancel and pick something else, since towel requires the animation key. if there's a matching animation, it will try to load the _Towel dialogue key, but if that is missing the default is just to load the Resort dialogue
but e.g. "bar" does not require the animation, so if it's missing it just won't play one. and i think e.g. "wander" doesn't even check for an animation, since it does the "wander in a square" behavior instead
okay this is EXTREMELY good to know, always have wondered
hey, sorry for the ping again, I'm just excited to use your mod and can't wait for the VPP compat, and I'm kinda a fiend for mod incompat issues lmao. Please let me know if I'm being annoying
the issue lies in this line where null was passed into ItemRegistry.Create causing it to throw. This is because x.ItemId is null, which can happen if, say, RandomItemId was used (like here)
(I know it's the cause because according to the log the mod is throwing when processing legendary fishies, and that entry happens to affect legendaries)
Is there a flag or something I can check to see if you've had a baby? trying to do a mail trigger CT thing so a NPC will congratulate you on kids.
There's a PLAYER_HAS_CHILDREN GSQ but no mail flag or existing CT for the birth of the children that I can see.
For the actual event, I believe More Conversation Topics adds one!
I wonder what mod I have that makes NPCs comment on my baby, since I don't appear to have More CTs
is there a new 1.6 vanilla CT?
I would've expected ichor to put that on the wiki when he did his CT update if that was the case
There's a bunch of new CTs in 1.6 and the mail flag thing means I can basically replicate anything I wanted from More Conversation Topics
Like I should be able to do a trigger action with a GSQ to make the CT, right?
but if there's another thing already in there, that'd be smoother
this started with Sterling bypassing the boulder making my CT that's supposed to reference the railway being opened up mess up and now I'm in a trigger action rabbithole
Ooh I just realised that playing with Lasting CTs locked me out of an event because in vanilla it's supposed to expire in 4 days but it never did
oops
You don't happen to know offhand what NPCs comment on your baby, do you? because I could look at that to see how it does
I'm fairly confident it was from a mod, especially since I'm looking through the decompile now and can't see any CTs that ichor hasn't included on the wiki.
yeah, ideally instead of reading itemid or randomitemid you'd directly evaluate the query and grab every item that returns
that wouldn't work with LOCATION_FISH, but you want special casing for that anyway
that's a vanilla CT that locked a custom event, or a vanilla event?
If I could remember any of the lines I'd search my mod files to be totally sure but I can't. I could make a test save and cheat my way to babyhood but that will take a bit because it's my play mod setup so it's going to have some long loading times.
I think it was a custom event locked by a vanilla CT, pamHouseUpgrade.
Ah don't worry about it. A trigger action should be able to do it since there's a GSQ I can look at
like I'll just look for An Kid and if it just fires once, that's basically right
You'll get some players having weirdness if they install your mod after having kids because they'll get your NPC commenting on the birth of their kids long after the child is born, but that probably won't be many players.
Yeah I'm filing that under "good enough"
It'll already be weird if, for example, it's installed after Morris is gone
Yup you can just give the usual caveat that installing the mod on an existing save might cause some weirdness
Nah ur fine this is ultra helpful! I’m going to screenshot this for when I work on the mod tomorrow!
- have a different trigger action run first on daystart,
IncrementStat ChildCount {{Count: {{ChildNames}} - the second trigger action runs next also on daystart. it only fires though if
!PLAYER_STAT ChildCount {{Count: {{ChildNames}} {{Count: {{ChildNames}} - that means on the first day, if you started with 0, you do meet the minimum of 0 and maximum of 0, so no trigger action. if you have 1 child, then childcount will have been set to 1, so you do have between 1 and 1 children, so no trigger action. same with 2, 3, etc.
- if you started at 0 but went to 1 from having another kid, then the GSQ is now
!PLAYER_STAT ChildCount 1 1, but your ChildCount stat was set to 0 initially (and only happens once the first time a save is loaded), so childcount is not between 1 and 1, thus the trigger action (and thus CT) fires. same for if you started at 1 but go to 2, and so on.
if you'd like you can also increment ChildCount at the same time you fire the CT in the second trigger action, that way its stored for next time and the CT becomes repeatable
(assuming you make the trigger action itself repeatable)
I had a look anyway out of curiosity and it's from Immersive Family using the Child token from Custom Tokens to add an event which adds a CT lol
Aha
is it possible to show the farmer drinking different things (beer, coffee, tea) in a heart event?
i haven't looked at the farmer animations before
Is it possible to add custom monsters?
or ever, apparently. i remember beer drinking in an elliott heart event and a shane one but
Vanilla uses farmerEat
Not sure you can see what you're drinking in those. You can change what is drunk in an event, but I think it's just effects applied
oh yeah for sure
unqualified?
dont put (O)
ohhh okay
cool, thank you
i wanted the player to be able to order whatever drink in this event and have the npc comment on it
just silly flavor text stuff
Despite being called farmerEat, the animation for that command is in fact drinking from a cup lol
lmao oh
its determined by the objectdata IsDrink field
ah that still works
idk why i thought it looked different in the different heart events i remember; my imagination must've filled it in
thank you again!
eating my soda
dink my oiter
horrible can crunching sounds
it's called recycling, look it up
Thanks, I added that to the events page entry
i'm glad that'll be there when i actually go to code this
Did you figure out your issue with the index out of bounds of the array error by the way?
NO but i asked lily and they fixed it
Did she say what was wrong?
yeah it was uh lms
I think what the problem was with your other event was that you were putting the switch events inside of the origional event instead of making a new entry
that and your quickquestions for those were the first command which causes issues for whatever reason
me being inexperienced as hell, more or less. i know it's better to start with a small change for your first mod and i absolutely didn't do that
Haha that's fair enough
i probably should've just added a custom item or something instead of breaking up a marriage, adding a spouse, writing like eight heart events, etc etc etc
Thanks for satisfying my curiosity. It's definitely looking like Thylak's advice is going to need some more editing if you can in fact have both end commands and nested quickQuestions in a quickQuestion.
i can send you my fixed code that lily sent me if you want to see what she did
Yeah that would be great, thank you ^_^
sure!
i'm at work on my phone so there's what she sent me
Oh you did end up with some switchEvents after all. I thought Lily was getting rid of all of them?
we got rid of all of them but out ended up a little busted, i think because of how i have the quickquestions dispersed
(By the way, your message about Pierre's magazine cutouts should also be in i18n.)
i had it working with nested quickQuestions
oh god
yeah thanks
that's embarrassing
Nah it's so easy to overlook things like that
since you read it, is it clear that i mean uhhhhh explicit adult imagery
i was trying to imply it without saying it
Yes, but the server rules don't allow us to discuss it so let's leave it there lol
oh yeah no that's totally fine
i didn't want to broach it further
i don't either in my mod, it's not that kind of a mod lmao
(I didn't think you were planning to but I just wanted to make sure that anyone coming across this conversation also knew that we weren't going any further with it)
oh wise advancedMove knowers, bestow upon me your knowledge: why does edwin glide during his advanced move and the farmer run in place upon reaching their destination no matter if i make them walk 3 or 4 tiles?
so sorry for the wall of text to follow but my entire event json is so long i don't want to make you hunt for it
"{{ModId}}_edwinhearts10/f EdwinPayne 2500": "sweet/8 10/farmer 6 17 0 EdwinPayne 7 8 2/skippable/globalFadeToClear/pause 1000/speak EdwinPayne \"Hello, @. You got my message, I presume?\"/pause 300/move farmer 0 -9 0/faceDirection farmer 1/faceDirection EdwinPayne 3/speak EdwinPayne \"Since we've grown closer, I've been...#$b#...Well, I've been realizing some things.#$b#Your friendship means a great deal to me.\"/pause 500/speak EdwinPayne \"I never anticipated growing so attached to anyone when Charles and I came to Pelican Town, but you have embedded yourself quite firmly in my heart.\"/emote farmer 20/advancedMove EdwinPayne false 0 1 4 0/pause 500/animate EdwinPayne false true 120 27/advancedMove farmer false 0 1 3 0/emote EdwinPayne 40/speak EdwinPayne \"Where is that spellbook...#$b#Ah, here it is. Charles must have done some reorganizing when fiddling with his bag of tricks.\"/stopAnimation EdwinPayne/faceDirection EdwinPayne 3/speak EdwinPayne \"@, I... I find I cannot bear the thought of you getting hurt, and being unable to stop it.#$b#I know your adventures can be dangerous, and it would put my mind at ease to know that I have made you at least a bit safer.\"/emote farmer 8/speak EdwinPayne \"Would you allow me to cast a spell of protection on you?#$b#It should lessen any damage you take.#$b#I've also modified it with my own flair to improve your luck.\"/emote farmer 20/speak EdwinPayne \"Excellent. This shall only take a tick.\"/faceDirection EdwinPayne 2/pause 1000/warp EdwinPayne 0 0 true/temporaryAnimatedSprite Characters\\EdwinPayne 0 288 32 32 360 2 20 11 8 false false 9 0.0 1 0 0 0/pause 500/playSound yoba/pause 2000/removeTemporarySprites/warp EdwinPayne 11 9/action AddBuff edwin_defense -2/faceDirection EdwinPayne 3/speak EdwinPayne \"That should do it.$h#$b#Thank you, @.\"/emote EdwinPayne 20/emote farmer 20/end",
I don't know, but I got around it by putting in a command to stop movement
finding it...
You can try stopAdvancedMoves, halt, or simply adding a pause as the final number pair in the end of the advancedMove command.
I don't think there's an easy answer for why it happens, all I've managed is to sometimes find ways to stop it (but not always).
ah yeah, that
very much confused me when I was running against a wall eternally in my event
i find it very ironic that i can write moves much easier than advancedmoves lol
when advanced is supposed to give you a lot more control
It's like a car. More control means more difficult
It does but it has its own quirks. Sometimes waitForAllStationary is helpful too.
oh also speaking of, i don't know if this is 100% certain, but i'm pretty sure that move can't be used with 1. every time i try to make anyone only move 1 tile, they overshoot it and end up in furniture. i've tried it in multiple events
I had to use that at one point because if I had Hiria and Louisa run toward each other while the bear was still moving, Louisa would jump and then slide sideways instead
sometimes i swear they have a mind of their own lol
stopAdvancedMoves didn't work, time to try another command
Try the pause
/advancedMove farmer false -2 0 0 -1 4 5000/ here's my advanced move that worked
oops, i tried halt next sorry lol
Not the pause command, mind.
but halt seems to have worked, with the caveat that edwin is still gliding during his move
advancedMove EdwinPayne false 0 1 4 0/pause 500/animate EdwinPayne false true 120 27/advancedMove farmer false 0 1 3 0/pause 2000/halt/emote EdwinPayne 40/ that's what i've got rn
Is he meant to animate during his move?
no, upon reaching his destination
Oh sorry that's the farmer moving
he was actually working before i changed it lol
i can record a snippet if it'll make visualizing it easier
Changed what?
uhhh i don't know exactly which command 😬 but i know that 30 minutes ago he was working
let me see if i can roll back changes just to see
I just tested the farmer and Penny moving one tile each with the move command and it worked properly, by the way
so it just hates me then 😂 i'm glad to know it's not broken though
This is the entire event script I tested:
"Question1": "
continue/
36 13/
farmer 36 14 2 Penny 39 14 2/
skippable/
pause 1000/
move farmer 0 1 2/
pause 1000/
move Penny 1 0 1/
pause 5000/
end",
Usually what I do when a command isn't working properly is I take out every other command in the event and check if it works, then add commands back in until it stops working again.
okay i rolled back changes and this is the entirety of what i had earlier
"{{ModId}}_edwinhearts10/f EdwinPayne 2500": "sweet/8 10/farmer 6 17 0 EdwinPayne 7 8 2/skippable/globalFadeToClear/pause 1000/speak EdwinPayne \"Hello, @. You got my message, I presume?\"/pause 300/move farmer 0 -9 0/faceDirection farmer 1/faceDirection EdwinPayne 3/speak EdwinPayne \"Since we've grown closer, I've been...#$b#...Well, I've been realizing some things.#$b#Your friendship means a great deal to me.\"/pause 500/speak EdwinPayne \"I never anticipated growing so attached to anyone when Charles and I came to Pelican Town, but you have embedded yourself quite firmly in my heart.\"/emote farmer 20/advancedMove EdwinPayne false 0 1 4 0/pause 200/animate EdwinPayne false true 120 27/advancedMove farmer false 0 1 4 0/emote EdwinPayne 40/speak EdwinPayne \"Where is that spellbook...#$b#Ah, here it is. Charles must have done some reorganizing when fiddling with his bag of tricks.\"/stopAnimation EdwinPayne/faceDirection EdwinPayne 3/speak EdwinPayne \"@, I... I find I cannot bear the thought of you getting hurt, and being unable to stop it.#$b#I know your adventures can be dangerous, and it would put my mind at ease to know that I have made you at least a bit safer.\"/emote farmer 8/speak EdwinPayne \"Would you allow me to cast a spell of protection on you?#$b#It should lessen any damage you take.#$b#I've also modified it with my own flair to improve your luck.\"/emote farmer 20/speak EdwinPayne \"Excellent. This shall only take a tick.\"/faceDirection EdwinPayne 2/pause 1000/warp EdwinPayne 0 0 true/temporaryAnimatedSprite Characters\\EdwinPayne 0 288 32 32 360 2 20 11 8 false false 9 0.0 1 0 0 0/pause 500/playSound yoba/pause 2000/removeTemporarySprites/warp EdwinPayne 11 9/action AddBuff edwin_defense -2/faceDirection EdwinPayne 3/speak EdwinPayne \"That should do it.$h#$b#Thank you, @.\"/emote EdwinPayne 20/emote farmer 20/end"
good practice, i'll try it. i never know which commands interfere with what and why
I have figured out the closedmessage issue with my shops. At long last I can rest 
Oh yay! What was it?
Needed owner tiles in the action openshop + anyornone for owner in the open entry and none for owner in the closed entry
I edited my previous messages on it to include that in case anyone else goes looking for the knowledge
nice!
Oh of course I didn't notice you didn't have an owner in the tile action
tbf every other example I looked at seemed to indicate I didn't need it
But most shops either have an actual owner or stay open all day so ig I just had a weird case lol
Might edit the wiki later to clarify that
The ones that have owners should have had the owner tile area because that's required for a shop to have an owner
It's actually not! I was able to get my shops working without any owner entries, it was only when I started trying to add a closed message that I ran into issues
No no I don't mean shops require owners
I mean that in order to have an owner, a shop must have an owner tile area.
Ah gotcha
I was mostly working with examples of ownerless shops since mine didn't up till that point 
(i got it working. good ol' pause command coming in clutch)
And I think that can be gleaned from the wiki as-is, but it's not necessarily explicit.
I'm glad they don't need an owner, because my shopkeeper is furniture
The pause command worked? Not the pause in the actual advancedMove command?
yeah i ended up adding several /pause 1000/s in between commands just to see if timing was the issue and it was
this is such funny phrasing
She blinks, but the nice lady is very glued to the map LOL
god bless map tile shop owners tbh
i am NOT creating a disposition/dialogue/schedule/etc for every shop i want to add
A penguin sweat😅
It's not anything wrong! We were just investigating ways to have NPCs comment on having a baby.
I have still faked some life into her by putting her as a Central Station tourist and stuck in a cameo in the party in Downtown Zuzu, but those are also furniture, it is just less obvious
in the interest of perfection but not being too bothered about it, is there a way to offset a TAS? my guy's animation is double wide so he jumps 8 pixels when replaced with the TAS and when removing the TAS
makin my standee blink
Try offsetting him right before the TAS and then back again right after.
You can try using when have child to trigger a hidden event to trigger ct dialogue, immersive family is supposed to be as simple as that, a blackout 0.1 second event trigger one dialogues for each villager for each kid, but eventually scope creeping...😅
Custom token mod can be used if you want to trigger at certain age
You don't need a dummy event to add CTs (I think that's a 1.6 change) because you can use trigger actions, mail commands, and dialogue commands as well.
Pengu badly outdated, sound awesome now😅
bizarre, i offset it -16 and then +16 but he winds up farther right than he started lol. that's okay though it's not too important to me and it's late here so it goes on the pile for later
Events are mysterious creatures
Night!
Anyone else have issue where dynamic reflections night sky reflections sometimes just don’t work
Like one day, all areas will reflect night sky and another day, some areas won’t and will only show blue water
and you have to manually go to mods and re enable sky reflections for it to turn on for that area
!mh It sounds like you might be talking about this in the context of playing the game rather than making mods. If that's correct, you'll want to head to the modded tech support forum because this channel is for support/discussion about mod-making :)
For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).
Oh my bad, i thought this was a general type chat
On the topic of mod making, is the guy who made dynamic reflections still updating? I see there’s a lot of bug posts on the nexus mods page
Or is there any mod maker willing to take a commission to fix dynamic reflections bugs with the original authors permission
Peaceful is on hiatus and I don't know if they are contactable. The permissions for the mod on Nexus are closed, even though it has a GPL licence on GitHub, so I'm not sure if anyone would be allowed to release an update without contacting them.
Oh btw Aba I found some info out about quickquestion and using switch event! (I was able to fix skipdozer's event thing after some testing earlier) i know you were involved in the og issue and were curious about the nested quickquestions and how that worked so I was wondering if you wanted to know what I found/how I did it 
I asked skipdozer and he said you fixed it and showed me his fixed json. But my understanding was that you were going to avoid switchEvent entirely, yet you ended up with two of them?
It really is one of the best visual mods out there
Since it's GPL you can do a github release as long as you obey the license there
That said it's both complicated and not broken enough for anyone to be motivated to fix
Yeah the two biggest bugs I found with it were the horse snapping and night sky reflection not working consistently
Then there’s the smaller bugs with SVE high land map or maybe some puddle issues
If anyone here is capable, I’d be down to pay a commission for a mini update while the author is on hiatus (if that’s allowed within the license)
So essentially what I figured out is that you can have as many quickquestions as you want as long as there's only one continuous path at the beginning or end. Essentially what that means is you can only have one "continue" with as many end branches as you want as either the first OR last option. (Putting it in the middle breaks it)
The switch events was to help fix that issue because I hadn't realized that would happen since, when I did my tests and how I do my events has always been that way. The largest test event i did with the QQs went something like:
End/Continue
End/End/End/End/Continue
Continue/End
End/End
So in this example you have eight endings but there's only one continuous path (if I'm remembering correctly those continues can be the first or last option in the "answer" order, I'd have to double check)
But because what skipdozer wanted was:
Continue/Continue
Continue/Continue
End/End
Continue/Continue/Continue
End/End/End
(So five endings but nested within the two continuing options) it broke it, I believe it's because of how the script is read, the game doesn't know to return to the original options
The SwitchEvents weren't working initially because skipdozer had them nested inside of the original event instead of as separate entries, as well as having started the next sequence with the QQs instead of using a command first (which events hate) and also the way the event was coded was a it wrong with how the switch events were done.
What i ended up doing was using the fact that you can have the nested QQs as well as the switch events to make it so that there weren't any 'multiple continues' that caused it to break. So minimal number of switch events, same amount of QQs
This is a visual of how you can do QQs by the way with all the endings
Theoretically you can also have some lead back to a main script but I haven't tried that
If I'm understanding you right, then that was the issue I pointed out before I went to bed last night. Specifically the thing about wanting to have two continues, I think (I'm conceptualising that as having a QQ nested inside both branches of the first QQ but I think it's the same thing with different language).
When I did my initial test I also ended up adding the other quick question at the end of my code, so it didn't break as it would have continued the pattern
Also I honestly was pretty sure you could but again I ended up testing it in the way that wouldn't have shown me the issue (I also thought you just meant having multiple quick questions in general)
(I was also very tired last night at the point I was hovering around to help so i might have just not understood what you were saying)
Which was also kind of why i sent the event i did with Qi
Initially I did mean multiple QQs in one event (counting the events switched to with switchEvent as separate events) because I hadn't parsed your event code properly.
But once you pointed yours out to me I went back and looked at it properly and realised that your event goes "enter QQ, branch to an end, branch to a non-end, exit QQ through the second branch" and then enters the second QQ. Then I clicked as to why your event worked but skipdozer's wouldn't: because he wasn't able to exit the first QQ before entering the second one. Which would make the game read the code from the second QQ as belonging to the first one and therefore be unable to execute it properly.
But now I know how to use switch event so that feels pretty cool honestly
it was confusing to me before...now I can have an infinitely long event. Event forever, event never end (I'm not doing this)
I might be late to the party, I am trying to create a Stardew Valley server project. But running on ARM is a pain regarding SMAPI, has there been a case of it working? Specifically Linux ARM64
All of this from you has helped me to not only understand the basics of QQ but jumped me straight into understanding the ways in which nesting QQs can and can't work which is really helpful for me. Thank you for being willing to bring it back to me to explain it 
!comms Got caught up in the QQ stuff but you can have a look at the commissions page and see if there's anyone you fancy contacting on there.
If you're looking for people who do mod commissions (either art or code), here's a wiki page with a non-comprehensive list of people who do them: https://stardewmodding.wiki.gg/wiki/Stardew_Mod_Commissions
Does sdv itself run on arm
Very good question, I thought so due to Android and Mac M1+ chips
happy to help! I thought it was really interesting actually, and useful info :3
It was a very fun side project to do
Mac has that rosetta thing
I will try that first to see if its even SMAPI, for whats its worth:
root@561bb0313701:/data/nexus/SMAPI 4.2.1 installer# bash install\ on\ Linux.sh
install on Linux.sh: line 19: ./internal/linux/SMAPI.Installer: cannot execute binary file: Exec format error
And phone is a different build of game
At some point when I gather the energy for a tutorial on it/adding to existing tutorials on it I may bounce thoughts off you about it if you're willing
Oh well...
./StardewValley: line 27: ./Stardew Valley: cannot execute binary file: Exec format error
So yeah i would try to see if you can run game at all first, if that works then look into building smapi from source perhaps
True.
Ah well there ya go
Of course! I think it'd be fun :D plus it'd be nice to contribute to tutorials and stuff, I've learned so much here it's nice to be able to give back and help
So I would need to ask the devs directly.
Idk if proper arm support is possible, limit could be monogame
Sdv always on server has a number of other issues even if you get it to run
May I ask what? I am trying to modernize the printfuck server
So far I managed to make a server instance with modern packages instead of Debian 10 or something.
For my job I am a Linux/DevOps engineer, so this is a fun project for a game I love
Sometimes mods only supports doing things on the host
Or rely on host being there for event
It's less "the always on server is implemented badly" and more "people don't make mods with that in mind"
Yeah this project helps this so much! https://github.com/perkmi/Always-On-Server-for-Multiplayer
A Headless server mod for Stardew Valley. Contribute to perkmi/Always-On-Server-for-Multiplayer development by creating an account on GitHub.
Exactly
And to be fair, its not easy work.
I have a mod where i needed savedata so only the host gets to make changes in current implementation 
Net mutex succ
you should absolutely make an unending event though
how do i make a new type of rock that spawns in a new area(im trying to make a mines area similar to Sunberry Village's mine area)
You can use item extensions to make nodes
You can also spawn them via farm type manager, but maybe you can use content patcher for that? I didn't I used FTM
I would rather vanish from this plane of existence
Just have a question dialogue loop that doesn't stop until you choose the right option
The loops brother.../silly
Let me get The Link
You want to know how to do some crazy things? You want the immersive-cutscene heart-wrenching events?
You've come to the right place.
Step inside, take a seat, this is going to take awhile.
From other event tutorials, you've probably seen:
changeToTemporaryMap false/bgColor 0 0 0/ambientLight 0...
Loop
Oh
You meant make the event never ending by doing that wheeze
I thought you were asking HOW to do it 
Nah no worries, this is a cool tutorial anyways XD
(And tbf I was wondering if that was possible myself)
Hey Im not sure what im doing wrong here. I'm trying to change the starting location for lewis. Am I way off ?
{
"Action": "EditData",
"Target": "Data/Characters",
"TargetField": [ "Lewis", "Home" ],
"Entries": {
"Default": {
"Id": "Default",
"Location": "AnimalShop",
"Tile": {
"X": 16,
"Y": 5
}
}
}
}
at a glance looks fine
If you have made the change and it's not showing it in effect, make sure you have either slept or loaded up a brand new save
ooooo shit youre right. I did an new save and it works now. thanks
sometimes you need to sleep twice
because there's one sleep that will refresh the spawning point and one that will refresh coordinates
M1 uses Rosetta. There are some binaries that assume x86 iirc
Hmm therefor it works
But Raspberry Pi's don't have that I think
So basically no tbh
I would say Rosetta is an x86 emulator
(Which is accurate to the first degree)
Raspi does not have that no
I think I looked into it once but some of the binaries do assume x86, forgot which
the whole game still thinks it's on x86 when played on Apple Silicon
