#making-mods-general
1 messages · Page 220 of 1
Yup
If everyone donates just 10 cents today, we could buy needy Button's nitro
I'm just gonna chime in to say that I read Button's response as a little harsh too, so, little tone tags or emoji definitely help
usually i do try to use emotes to that effect but sometimes if im tired or busy or just particularly lazy and just typing i just wanna type and hit enter and move on quickly
(can i ask about the context of this wiki change? just curious)
but also it helps to assume good intent and that people in here aren't dressing you down for no reason 
😭 oh
really
?
where
did 💀 you 💯 hear ⭐ that?
trash fishing
I think for me it was the multiple uses of "there is no reason to" that got me, LOL
you have my word that if anyone ever does decide to give me money for nitro, i will take the money and use it on something else instead
So this has 0% seriousness
💯
what if we just gift you a month of Nitro 
what if you are gifted nitro against your will, is this where friendship ends forever
they will hire the wizard to transform it into something else
That reminds me
Gift Button nitro today, tomorrow the only spiderbuttons on the server will be spiderbuttons2
I wanted to play with making more train cart tops at some point
(i just dont really care for Discord enough as a company to want to support them, so I'd just much rather not have money given to them on my behalf. the one time I did have nitro is when they gave it for free)
Fishes on ice/visible food being transported by train
ive somehow been walled by... naming one of my items in my mod?
i think i have nitro still out of sheer inertia
they have added zero relevant features to me past the cross server emotes in all these years
Cross server emotes are a mistake anyway, nothing else in Nitro is worth using, and the few things that are can be spoofed with third party clients
(this i can also at least explain as "years of people in past communities/not-so-good friend groups taking every opportunity to misinterpret my words if i wasnt incredibly, overabundantly clear with my words, which has lead to me defaulting to the opposite of being overly wordy and repetitive for clarity rather than risk the opposite")
How would I edit the data to add a new string into stringsfrommaps because they need quotation marks for the ID's but I need quotation marks for the entries.
\"
you can escape quotation marks with a backslash
"/"?
had to escape the escape for discord to show it
if a quotation mark has a backslash before it, the game will not treat it as a quote and will instead just treat it like any other character
ohhh*
I think I mainly keep Nitro to boost my own server
Tbh this is also how I communicate
server boots are also a meme and not worth imo
alright, ty!
Yeah, the repetition of sentence beginnings is a cultural connotation thing for me. Similar to how emojis reduce the seriousness of a message, repeated phrases INCREASE seriousness.
Very directly
Language is a complicated beast. /lh
According to my calculation this would leave you with 16.74% seriousness of the original message.
what do you want the final string to look like when it appears in game
hm one "progressional info" thing i thought of for lookup anything way back is to have machine recipes reveal themselves only after you have triggered them
"Test"
is Campstring1 the key?
Yes
dont escape the quotes around the key, those need to be quotes
"Campstring1": "\"Test\""
I respect how usless nitro is
The only reason I would get nitro is that the knitting server has cute emojis
with content patcher you CAN actually also do "Campstring1": '"Test"'
i could do this in machines mod now i suppose, but its got some troubles
- when people install mods that didnt populate the trigger id or the output id, they get rearranged and idk whats what anymore
- do ppl want this even? i kind of dont personally lol
Even better!
I do kinda want the "different profile images in different servers" feature. 😔
you can also do Campstring1: '"Test"' but please dont
any sane json parser (SMAPI using newtonsoft is not one of them) will scream at that if you are comfortable with every tool hating you
is there a "sane" json parser in C#
Just forego syntax checking and use jsonl 
System.Text.Json is a sane json parser
ah so the people demand the insane parser of newtonsoft
if im using lookup anything for recipes its bc i dont know what triggers them but want to
yea indeed, its not looking up of anything anymore 
SMAPI predates STJ being viable, and too much relies on the madness that only newtonsoft can offer
Well, there's always Stardew 2
(also, Person, keep in mind that if you use t hat other way with single quotes and non-escaped doublr quotes, that means single quotes will then need escaping instead)
the first point is prob not solvable though, atm i am just yeet any saved "disable" rules that become invalid bc of new mod
but they could totally get rearranged to a different rule, it just doesnt matter as much if im not tracking them strongly
one of the problems I've been having in working out how to overhaul the Json parser site and/or a vscode extension is that newtonsoft is just too weird to convince anything other than newtonsoft to handle.
there are too many blatent spec violations it happily accepts and content packs already rely on
i like that newtonsoft lets me write a patch like this
{
Action: 'EditData',
"Target": "Data/Objects",
'Entries': {
Test: {
...
}
}
}
Fun, ty!
make leibnizsoft.json for javascript
you are missing multi line strings, trailing commas and comments
those are fine to me i just enjoy how particularly awful using a mix of single, double, and no quotes around identifiers looks
can u somehow like, get newtonsoft into wasm
<- zero clue how wasm works
yes but expensive and that would just be pass/fail, not intelligent red squiggles everywhere
expensive 
wasm binaries are not small, take time to startup, and the JS glue to go in/out of wasm has similar problems
I could potentially get away with it in a vscode extension, but not the json validator site
Hi, is it possible to give varied dialogue and even portraits to objects? Like, a box who doesn’t do anything, but has a lot to say. Even cooler if you could place that box down, move it around, and give it properties, so it is a tool on the farm. Is that not feasible with [CP]?
making a thing on a map have a lot to say can be done with CP and a framework to help, but having it be movable and have properties (what kind of proprties?) sounds like you'd need custom C#
should I add js tbin parser to my todo list.. would let me make all the converters web based
I was thinking the properties of a scarecrow
well, you can make a scarecrow easily enough, but then the problem becomes making it talkable bc its not a thing on a map
Better Crafting supports adding tile actions to big craftables
does it work though
scarecrows have the interaction thing
need to check if BC tile prop takes priority
ah yeah, the scarecrow's tile action might override that
might work™️
problem maybe not solved
well time to test I guess, you can be our guinea pig /lh
How about if it was just a part of the map with properties still, but not an item? What frameworks could i use?
hay hopper
machines kind of??
if its an entirely ordinary no name 🟨 brand big craftable it'll work

then you can just place it down in Tiled and give it an Action tiledata to make it talk. theres a couple vanilla things, though they wont have a lot to say, but BETAS has more options for dialogue actions
chu outed as canadian
i thought its been obvious this whole time
that is a pretty big tell
no i had absolutely no concept of where you might live in my mind
was bag milk not enough of a tell
same with everyone else
(yeah was about to mention the bag milk incident)
i dont believe ive seen you talk about bags of milk
Are touch actions specifically locked to touch actions or can you use them for actions as well?
well now u have 
Ok, I’ll look into that.
if something is not listed in its respective section (TouchAction, TileAction, Trigger Actions) then it cannot be used in another category
hmm button
I believe that's the case, baring an unknown framework somewhere that changes that
Scarcrows can move and talk. All they say is how many crows the scared away. Could you edit that somehow with a framework.
hmm chue
alright, ty! (that is so annoying)
what if give flooring touch action
i misread crows as cow
make warp floors
im not sure how that would work
or maybe more accurately im not sure why it was directed at me
i dunno either, i think my L1 cache just had "BETAS" in it
i think if you wanted to make a mod that adds pokemon style warp tiles for certain flooring you could do that pretty easily
i want to make pokemon style conveyer belts so i can enjoy silph co. in my farm
I need it so when you step on a tile it shows a message in a dialogue box, thing is there is no touch action for it, is there any other way to do that?
BETAS can do it
if theres another vanilla touch action that can work im not familiar enough with map stuff to know it
i don't believe vanilla has a touch action message
ty!
at the same time, if you can't go in anyways, simply use tile action message?
That is a function I have never seen a mod use. Walking on a tile based message. It is cool that it can be done.
yeah but touch action would be better because sometimes people dont know to click
Might be a silly question, if I want to replace the asset of farm animals, (for example cows)
Is it better to use "EditImage" or "Load"? I read the guide but can't decide which one
consider adding them as Skins instead 
i know ConditionalDoor is for indoor doors, but what happens if you just place the TouchAction ConditionalDoor on an exterior anyway and try to walk through it?
vanilla's tile action and touch action are 2 different dicts
and ConditionalDoor exists in both
they are meant to work in tandem
but i was wondering if placing only the touchaction version and editing the message that appears when it shows up would work as a message box
u get halted, so if again, you dont actually want player to go in, it could work
looking in the code i dont immediately see anything that checks if its actually indoors or that theres a right click action above it
Skins are way out of my skill as a beginner, guess I'll read through other mods' codes as references later 
Are you just looking to replace a cow? Or was that hypothetical? Because there are plenty of mods that replace the cow for you to download as a reference. As skins or CP or AT. Take your pick.
I plan to replace all farm animals but I think I should go one by one first
CP should be good enough
If you have a specific thing you want to do that has not bee, done more specific instructions are available.
Yay look at Elles cuter animals. She has a barn pack and a coop pack.
It will show you exactly how to do it with CP.
skins are a base game feature, meaning you can edit them in via content patcher and it'll work
[[modding:farm_animals]]
[[Modding:Animal_data]]
benefit of using skin is just you get compat with AT for free and non AT people can still see multiple variants of cow
I went through the wiki and did not found this page
This would be useful, thanks 
How does inverting a GSQ as an event precondition work? /!G <query> or /G !<query>?
second
I see, thanks
how do i capitalise tbin as a class - TBin? Tbin? TBIN? tbin??
Not relevant to your question. But you can mod stardew on a switch?
atmosphere's layeredfs
tBIN
oh thx
(this is the worst option tbh)
!switchmodding
Modding on the Nintendo Switch is technically possible in a very limited capacity, but it requires jailbreaking your Switch, which is only possible on select models or by physically altering the hardware of your Switch, and can run the risk of bricking your console and/or being banned by Nintendo. Only visual texture and dialogue replacer XNB mods can be installed. Due to these limitations, we do not provide guides on how to mod the Switch and it is up to the individual if they want to take these risks.
what are u making (if its not a secret)
I actually have a jail broke switch. I did it on my extra switch just to see if I could do it. Only ever used it to cheat on tears of the kingdom. Now it is just sitting in its box.
!addswitchmods
If you have a modified Nintendo Switch running custom firmware, there are some limited options for you to use mods.
Option 1:
- Install Ubuntu
- Get 1.5.4 Stardew Valley via DepotDownloader.
- Follow the this guide.
- Install SMAPI (version 3.12.8)
- Run it via
mono StardewModdingAPI - You can use most 1.5.4 mods, but some won't work (such as Custom Music)
Option 2 - Place XNB mods in
sdmc:/atmosphere/contents/0100E65002BB8000/romfs/Content/, as if this was your game's content folder (as in.../romfs/Content/Characters/Caroline.xnb) - This limits you to XNB mods and outside of simple retextures will largely break by 1.6. See here for details.
Option 3
Basically the same as Option 2, but with a mod manager for easier management. - Install iridium https://github.com/AnotherPillow/Iridium, instructions in the README.
- Place your XNB mods in
sdmc:/switch/Iridium/Mods/[MOD NAME]/as if this folder was the Content folder of the game. - Same restrictions and issues as Option 2, but you can turn mods off and on and know what mods are controlling which files.
is the option 1 thing dead
not dead but a bad idea
since sdv moved on to new framework
that's just making your switch a worse steam deck innit
yes
yea i'll rephrase, is 1.5.4 the final possible version on switch to smapi ever
Interesting, probably won't bother as modding on my PC is easier. But good to know it is an option if I want.
or is there actually a plausibility to just get linux sdv onto switch one day
once the compatibility branch isn't needed yes
it's the same for all arm things without fancy emulation layers
in theory box64 sohuld work for it but i was never abl eto make it work
Fun fact that came up while testing out my new mod. Clint's shop checks whether he's within 1 tile of his cash register, but then disregards that and opens his shop no matter what as long as he's in the building.
i rmbr that came up sometime ago, when someone was make thing that show when shops open
wonder if they ever published the mod
Marnie needed that before the book was a thing.
Actually all shops should have a book. Clint, Robin, Pierre, shoot even Gus while we are at it.
Even if it was just a "Put in your order and I'll process it overnight / first thing in the morning", that'd be a huge improvement over not having the shop open, yeah
Never mind matt just released a mod
hm im trying to find an icon to express "everywhere" and "for this location only"
my idea rn is hot air balloon on cursors but thats a bit cryptic
are you averse to making your own
yes i am, for ui interface mod reasons
although this one case is maybe fine if i only draw icon and still use a button sprite bg
why is local lights off
i have no clue what this icon is
the globe on the co op button on the main menu
you probably want to roll your own though since it beeg
cant you just scale it down
its not very icony
if only there was a word to describe something being icony
16x16 pixels thing that pops against most backgrounds
black square
◾
with a white outline
best i could do is this 🔲
stands out to me
cursors truly has everything, why is ginger here
It is easy to see, does not really convey much of a meaning though.
Animation frames
Spring onions are also there
also you answered your own question, if it has everything why wouldn't it have ginger
My favorite cursors fun fact is that the pixel used for the drinking animation? Is actually one random white pixel from the moon
Oh, and the skyline is just a thin line of pixels
hm
hello? anyone mind givin me a hand in my thread?? just so i don't cloud up the chat
is the moon global-y
Speaking of ginger and spring onions,, Does it bother anyone else that the iridium scythe can harvest spring onions but not ginger? It bugs me.
Heyo, quick question related to fish and context tags. Will it break anything if I give a fish both the fish_lake and fish_river context tags or does it have to be one or the other, I checked with the carp since it can be caught in both but it only has the lake context tag
can you use this chu
no im on the run from the ccp
Didn't misty make a mod for that
oh
It's fine
Thank you 
what about this
Really, I need that. Thanks.
Perfect no notes
i dont know what these icons are for
chinese social media i guess
idk this rainbow one tho
is there like chinese instagram
you're asking me?
sure, do you have the answer o spooder of the parlor
there is a lil map icon in there tho
What is red envelope like
oh cool cool
isnt that just the picasa icon
if i wanna make a mod that sends a starter kit via Mail Framework Mod how should i go about it? im trying to make sure i set it up right
Picasa was a
rip
Moments (Chinese: 朋友圈 pinyin: péngyǒu quān) is a function of the smartphone app WeChat, launched on 19 April 2012 in the WeChat version 4.0. It serves new social-networking functions for Wechat users. The Chinese translation of Moment is known as “Friends' circle”, which means users can share and get access to accepted WeChat friends' informatio...
its this i guess
chu i think you're really overestimating my chinese social media knowledge here
everything is part of wechat
what do you mean by starter kit
Why is a Chinese social media icon in stardew?
basically a welcome kit filled with a few items to get started! like a ring, weapon and food
there is a separate file for the Tencent version lol
there's a section in the credits for SDV social media sites
consider making a farm starter bundle instead
you can change it to not 15 parsnip if u want
also chu is this "current location" thing like, any current location, or just the farm
interesting
the player's current location
i did wanna do the mail tho
also if you want the mail route you can just use CP now
incase someone had a custom starter bundle pack
can CP depict multiple attached items tho
MFM is not really needed anymore baring extremely niche features
Look at the mod Gramps sword mod. It sends a sword after so far in the mines. You could change the trigger I think to send whatever you want sooner.
i think u would have to do action AddItem for most of em
i dont think theres anything stopping you from doing multiple additem commands in mail
yes you can, the player will get one at a time
neat ok
(if you got the gold medal for FFP you'd known smh my head)
cool cool so i should do content patcher instead?
here u go. local vs global icons
mystic
one is blue. like water earth. one is brown. like the dirt beneath your feet
but the left thing is the shop bg that i am abusing already
have you considered simply extracting a color palette from the users current Cursors.png and dynamically creating a 16x16 square by calling Texture2D.SetData
Wondering if someone can give me a little advice, trying to create a new artisan good, and the item technically loads, and I can put the source item in the keg to get the desired output, but I cant get the png to load from assets, wondering if in my freshness to this im overlooking something super simple
!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.
(can you upload to smapi.io/json? Thanks!)
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 66 C# mods and 102 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
btw? how do i set up the json to send a letter? for content patcher i mean
!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.
it appears you are using a file path instead of an asset name but i could not tell you where as i am not downloading the json to look at it
oh yea u have this "Texture": "assets/bh_honeymead.png"
use the json uploader
need to do a Load and use the target
you loaded your texture into bonghits.BearHoneyMead/Objects, you want to use that value for the Texture field in your object data
Yep, Textures are load targets, and so do not use file extensions
Ahhh I see thank you
confusingly, "asset" and "asset path" are your Load targets, the actual png is your filepath
Dont use Vortex. As a side note
"Texture": "bonghits.BearHoneyMead/Objects",?
Just for future reference as to how the terms work
For why?
It does not do stardew valley well.
it tends to eat files
Most people use one called stardrop (i think). I still do mine manually.
Hello, everyone. Is it possible to make a "When" field that includes an or statement? Like "When" > Relationship:Shane = Dating or Engaged?
(double check the syntax for the token there but thats the gist behind ORs like that)
It that SVE honey from the bear?
what's a decent weapon to include in a starter kit?
i am checking the wiki and most weapons seem to be either rewards or really op
it's a starter kit, so pick a starter weapon I say
though marlon already gives you one when you first enter the mines
Sorry, I'm not getting this. I tried looking at the specified you mentioned. I may be misunderstanding, but it doesn't seme like either performAction overload does only what I want, which is just checking if the building / location is open to the player currently. This seems to be other things as well.
should i even bother including a weapon in the kit?
i do think the glow ring would be good tho
I wish I could do debug whereis for an animal. I have lost one of my pigs.
that is for "checking the npc is at shop" logic
maybe cherry bombs would be a good item to add?
for "can enter location" it was the locked door thing, forgor exactly what though
Heyo another quick question for anyone who knows, if I set a letter in a entry that is only applied after a mailflag has been obtained, do I need to set a trigger or will the mail appear in the mailbox after the flag has been given
ill draw a globe later prob
You will need to use a trigger action or some other way of sending the mail. Mail doesn't get sent just because it's in data/mail.
Could you elaborate on this? I did find Owners array within the SeedShop object, but both objects have Condition of null. I'm unsure how they would tell me what time the open
Ok so I dont even need the when condition for this specifically thank youuuu 🙂 I was starting to confuse myself and its been awhile since I did anything mail related
What is the duration for buffs in, milliseconds?
there'd be a little extra legwork there, if Owners has a NPC set, then the shop counter isn't useable unless the NPC is within so many tiles of the TileData object.
so it's not actually time-based, in that case, you can literally make the shop menu open by warping the NPC to the counter area
dang. Ig I'll just have to hardcode it, if I don't want to check every frame (or every time on tick is called)
its fine to hardcode for the vanilla people, but you should try to do something for modded shops
I don't plan on having any modded shops. My goal is to make a interactive guide to tell people how to get perfectionist. So I should be fine
unless you're using a different definition of modded
you are excluding modded perfection entirely then
modded as in, shops added by mods via the OpenShop tile action
to determine that you need to
- find all OpenShop tile actions in the game, check whether they are behind locked doors
- if they got no conditions or an open/close time then great thats it
- if they got a npc rectangle then you need to do the fun business of figuring out when the npc will be there (using schedules) and whether they would be valid owner today
I'll keep it in mind. Thank you for the support. I think I've been at it too much for the day, so I'll stop. Hopefully, I can understand with a more refreshed mind
theres a globe furniture item if that helps
@uncut viper For BETAS, do I put the map action into tiled map properties or the json map properties patch?
it doesnt matter
Alright
Finalized the Art on my Bear Honey Mead, courtesy of my lovely girlfriend, first fully custom mod done :D
Would you like me to showcase it in #mod-showcase on your behalf?
That would be awesome!
Posting on behalf of @hot gale , Their first mod!
Thanks so much! 😁
@uncut viper Sorry for the pings but I tried the map action on both tile property and map property and it didnt work (I used "Spiderbuttons.BETAS_Action: message Notent1"
the name of the tile property still has to be Action
Ah, okay. Thank you!
e.g. instead of Action OpenShop its Action Spiderbuttons.BETAS_Action Message whatever
you can also just do Action Spiderbuttons.BETAS_Message whatever directly
Ty!
How can I implement the message key into that because I tried {{NotAGardener.FL_Notent.2}} but it only accepts raw text
Honestly I like my text medium rare but raw is just wrong
if you're doing it in tiled you cant use content patcher tokens
i dont know what that token is supposed to represent either. you need to provide it with either raw text or a translation key or a localizedtext token
Hey yall
I'm working on something with a commission music artist that I'm really excited about for my mod Piano Valley
I wanna show it to yall so bad before I put it up and see what u thinkkkk
But I don't wanna post it on the public server ;3;
I'm trying to make a content pack for AT, with just basic recolours of the messy shirt and messy shorts. I've got it running in SMAPI so it doesn't tell me there is a problem with it, yet when I try to test it in game it doesn't say it has any alt textures? I am not very experienced and am wondering it its something I've just missed. https://smapi.io/log/591e695b05d04071abb466c7d27ac325 my pack is simply called clothes pack. any feedback would be great! :)
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 53 C# mods and 173 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Heyo, what is the fishing area in the backwoods? I thought the backwoods was the path north of the farm that leads to the mountain area next to robins and the railroad/spa location entrance?
I was unaware there was a spot for fishing, and cannot seem to find it in my game
weird cause it has fish added to its location data in unpacked
it can have data but no water
if you theoretically patch in some water it'd give those fish i think
Which is so weird XD, but yea I guess I can just ignore it then
fuck it im not putting in translation accessibility im too lazy to keep debugging this
So I have a touchaction setup on a tile property to prompt to go to sleep but when I click yes the screen goes dark but nothing happens unless I go outside, then when I go outside it takes me back to the farm house so how do i make it so I go to sleep and wake up on the same tile
Question thought about customizing som of the ui especially the title screen where do i find the templet to be able to recolor ?
!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!
You'll need to unpack the game files to get the PNGs you need to change.
thank you!
After you've done that, you're likely looking at elements in Minigames/TitleButtons.png
do i put the whole folder in or just the icon inside the folder?
i figured it out wasnt sure where to put it in the stardewvalley folder but yes
ok
You do know that you don't just put it back into the folder, you have to make a mod, right?
looking into it yes . want it as a side project for when i have time .
I would love to see a mod where someone makes this accessible and turns it into something
(the little path)
Where's that?
The flower dance map
There is a little path that is never shown what is on the other side
thanks to @rancid temple for getting me to look at this code, but is the vanilla maths for updating the hands on the gold clock being incredibly wrong a known thing? 
clip is of a demonstration of the vanilla implementation (red) vs a correct one (green)
the correct code (in Building.draw, approx lines 2307 and 2308 in the repo) should actually be (obviously with the angles being put into the actual draw method calls in the correct place)
var adjustedHours = (int) (Game1.timeOfDay / 100);
var adjustedMinutes = (float)(Game1.timeOfDay % 100) / 60f;
// hour hand angle
(float)Math.Tau * ( ((adjustedHours + adjustedMinutes) % 12)/12 + ((float)Game1.gameTimeInterval) /((float)Game1.realMilliSecondsPerGameTenMinutes) / 72 )
// minute hand angle
(float)Math.Tau * (adjustedMinutes + ((float)Game1.gameTimeInterval) / ((float)Game1.realMilliSecondsPerGameTenMinutes) / 6 )
like alittle village for incoming people / villagers
yeah!
interesting, I see you do still have the mod author role 
hm?
why wouldnt i?
(as in, be the change you want to see, hint hint)
I am going to have to start making a list of mod ideas soon, i cant work on this yet since I have to work on like 3 others
For now it can go to the mod idea repo
if you plan to do it yourself, it doesn’t really belong in the ideas repo. The repo is for ideas for other people to pick up
I want to make a map, not sure how to get started
!getstarted
If you would like a guide to setting up mods for Stardew Valley, check out the getting started guide! https://stardewvalleywiki.com/Modding:Player_Guide
You can find alot of stuff from that 1 page
I dont know if I want to do it, so other people can do it if they want.
and
!twocakes
If you discover that someone has made or is making a mod with a similar concept to yours, don't stress! Our community promotes the idea of "two cakes", where two versions of the same idea can peacefully co-exist. Your mod will have your own unique stamp on it that makes it special.
that command is for installing smapi.
OH COME ON
Hmm, gettingstarted's more for players. @hot gale you probably want !modmaking
!modmaking
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.
Lol commands just aren't agreeing with me lately
Thank you 😅
they have to go at the start of a message haha
!startmodding is another appropriate one afaik. You’ve got to start your… yeah.
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.
you can put stuff after them though like doragoun did
Oh, it’s the same text. Good to know.
I wonder why there’s two of them them 
ones just an alias
Them them? 
ah, fair
shows you how awake I am right now 
!mapmaking I think there's also this
If you want to make mods that add or edit maps:
-
Use Tiled to edit .tmx or .tbin files.
-
Refer to the Maps wiki page for details on how maps work in Stardew Valley.
-
Content Patcher allows you to create custom locations through editing Data/Locations
-
Vanilla Maps can be edited via Content Patcher as well: EditMap
Probably the same thing as with !gs and !gettingstarted or !androidmods and !androidsmapi.
Thanks guys!
Usability.
them then* it was supposed to say
What kind of button are you? Shirt button, door button, keyboard button, mouse button...?
Aw, and I thought it was a joke about the duplicated command.
Yay it worked :D thx @gentle rose
btw button while (if?) you’re here, do you happen to know if the gold clock thing is known or not?
What’s the gold clock thing? 👀
I sent it a few messages up haha, it’s very unimportant but I found it funny. The maths for moving the hands is wrong
Bump
Huh. That’s actually very interesting and very CA.
one of the most CA things I’ve seen recently
So, what’s the most CA thing you’ve seen recently?
Huh. I never knew the clock was wrong
Probably because I've never actually built the clock before
It also is the same math used for the CC when you complete it
i never even knew those clocks worked
The most CA thing I've seen lately is actually the entire shipping menu being built brick by brick
In draw calls
Bumping the Bump (i really need the question answered or some kind of documentation)
Every little piece of the background and all
the more i more i mod the more i realize how hard it mustve been for CA to make the game
did you also set the Bed T property? if you wake up in a location with no bed you get warped back sometimes according to the code
i havent the faintest. does yours account for 2600 time
yup, the full demo actually runs the full 2600, I just cut it for brevity haha
I put that in the same tile as the Sleep action right?
I think so?
i didnt expect shrimp to be higher
Alright, ty!\
I accept the shrimp 
I look back at how much I have done, then realise how much I have to go...
Shrimp
That fixed it, ty!
Oh yeah you need the bed property to wake up in a bed
Or... A not bed
Theoretically you can do that to a random grass tile right?
Technically yeah
you can also set a property on the entire map which makes it so you don’t need a bed to wake up there
just sleep on the ground
I assume that one also means that if you pass out, you just wake up in the same place, though
my little tent looks so cute, ignore the gorilla in the tree
isn’t that linus’ tent asset?
shhhhh....
Old Master Cannoli is watching
Always watching... searching for the sweetest taste
i added it
also, in the future, if you’re stuck on something it’s always worth searching the wiki for the name of the thing you’re stuck on. The bed thing can be found on the exact same page that lists TouchAction Sleep.
istg i searched that page, i mustve missed it
(TouchAction Sleep is a function i use every night)
a function I use every night is Action Coffee
does it pop up a flavour text message or something?
hm?
a flavour text message?
like, does something happen/text pop up when you click the note?
Oh, yeah
Lucky
Do shadows automatically get added under trees in game?
No
Those are drawn
So I have to put those in myself?
If youre making custom trees yeah
Pretty sure base game trees already have the shadow included
oh cool, ty!
I don't know how a cow took me an hour, but it's working now
round
Disclaimer: I didn't make the art I just want it to work in 1.6 
Im heading to modded help later today with my logs but I'm super curious what typically causes NPCs to multiply? I assume maps editing the same place??
Anyway, later I'll have a log begging people to help find why Morris is multiplying and taking over my town at night
(started at 1, now 7)
...yes
have I triggered a war memory? 😂
For some reason a good chunk of the duplication stuff seems to be sve
It's just special i guess
It's legit only Morris, and it's funny as heck bc I have Market Town and he buys all my stuff but he might continue multiplying endlessly so that's why I'll be asking for help later 😂
Very good to know sve has that issue though in case i remove it in another playthrough!!
Well you can just debug killnpc <whatever morris's internal name is>
To get rid of him
Will it mass annihilate the extra 6?
Watch me send Morris to the shadows after he buys my bugs
I like Morrisi 😂
Ill try next time I'm playing and report it when I go to modded help!
Can I put a warp into an action property?
Yes, if u click the thing it warps u to the place
Alright, ty!
tbh next time just read here
https://stardewvalleywiki.com/Modding:Maps
ctrl+F is your friend
i should really use the wiki more-
Would there be someone willing to listen to my woes
I am quite aggrieved
Excuse the dramatics, I'm just baffled that water animation won't work on indoor tiles
Maybe it's the wiki that needs to be updated
it can if the map has indoorWater T property
I'm think I already tried that, but let me try again just to be sure
put that on map properties, make sure your water tiles have the Water T property
Oh my gosh it worked 😅 feeling silly now, but thanks!!!
If anybody is good at mapping can they give me suggestions in #making-mods-art message
(the channel is usually dead so thats why i asked here)
Suggestions for what
suggestions on how i can improve it
Looks perfect to me. But then again, I'm not an expert map maker 😆
I will take feedback from anyone, ty!
Maybe the trashcan should be somewhere in the corner? Is it normal to keep it right beside the counter?
I would think most people keep it next to the counter, dunno
Hey, I am new to modding and I am making a mod about a "cleaner version" of shane, but I have some problems, smapi
[Content Patcher] Ignored Better Shane > Load Portraits/Shane #2: the When field is invalid: 'Is_Visiting_Island' can't be used as a token because that token could not be found.
Almost every when field is invalid and I don't know why... I couldn't find anything on wiki and other sites ;/
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.
I thought it worked mid sentence lol
of course
tbin is actually not that confusing of a format to try and reverse engineer
yes I know I could look at the tiled implementation and yes that would be smart and yes I will do that but once I'm stuck
do I need to choose the JSON format? I think it should be Content Patcher 🤔
No it's okay :]
Yes! I'll take a look
Also are the only ones causing problems the island one?
Thank you so much
And is that a game state query? (I can't remember lol)
No, I can copy paste the smapi log in the chat
The weird thing is that shane wears one of his new outfit but not the other ones
[Content Patcher] Ignored Better Shane > Load Portraits/Shane #2: the When field is invalid: 'Is_Visiting_Island' can't be used as a token because that token could not be found.
[Content Patcher] Ignored Better Shane > Load Portraits/Shane #3: the When field is invalid: 'Location' can't be used as a token because that token could not be found.
[Content Patcher] Ignored Better Shane > Load Portraits/Shane #4: the When field is invalid: 'outdoor' can't be used as a token because that token could not be found.
[Content Patcher] Ignored Better Shane > Load Characters/Shane #2: the When field is invalid: 'Is_Visiting_Island' can't be used as a token because that token could not be found.
[Content Patcher] Ignored Better Shane > Load Characters/Shane #3: the When field is invalid: 'Location' can't be used as a token because that token could not be found.
[Content Patcher] Ignored Better Shane > Load Characters/Shane #4: the When field is invalid: 'outdoor' can't be used as a token because that token could not be found.
I think so I found it on this site: https://www.stardewvalleywiki.com/Modding:Game_state_queries
Ohh you're supposed to use something else
You can't use GSQs in When fields
oh 😦
Content Patcher uses its own tokens
Ope
I think the "player" ones also work for this situation
i think
So "IsOutdoors"
Omg I searched my a off to find this 😦
I mean I can try it
For outdoors
I'm not exactly sure how custom outfits work - you might need dynamic tokens for that
Also hi Aba 
i didn't know that, I thought it has something tot do with JSON
Oh yeah these are for outfit things - you should use the Appearance system instead of CP patches
You do use GSQs for Appearance
what are GSQs?
Game state queries. The ones from the wiki page you found.
Yeah, literally pulling things from the state of the game
Or whatever's going on in the game
oh ok, didn't knew the short term
Although I can't find a GSQ for checking whether an NPC is in a particular location. There's one for players but I'm not seeing NPCs.
Maybe this one ? IsIslandAttire
But there is a dedicated indoor/outdoor field, a dedicated season field, and an IsIslandAttire field in Appearance
had the same idea i guess haha
Yeah that one is so you can set his island outfit
Oh right yeah you don't need a GSQ for his JojaMart outfit anyway
Or his Beach outfit
Because the game already switches him into them in the right conditions so you don't need to check for those conditions.
But how does smapi know it's the sprite or portrait for the beach then...🤔
BTW I recommend using EditImage rather than Load because using Load will make your mod clash with any other mod that tries to Load Shane's portrait/character too. It's always recommended to avoid using Load unless it's your own custom asset (meaning custom NPC, custom object etc - not your portrait for a vanilla NPC).
SMAPI doesn't - the game does. It's part of the game code to read the portrait asset name (e.g., Portraits/Shane_JojaMart) and then use it in JojaMart.
It does it with _Winter, _Beach and _JojaMart (but probably only for Sam and Shane for JojaMart)
Interesting, I need to try it immediately
thank you so much for helping me, both of you 🥰
Yay my pink fishy is in a tank!
Nice I love fishys
Thus concludes today's episode of "Aba makes a tiny mod to learn how to do a new thing"
As long as the artwork is either completely yours, vanilla assets that you edited, or from free-to-use resources (according to their licences) (or someone else's that you've been given permission to use, in which case make sure you're explicit about displaying that permission) then yup! Make sure you test it thoroughly and try to have a look around at best practice for how to release a mod.
This page has useful debug commands you can use in the SMAPI window to help with testing (and you can use mods like CJB Cheats as well, of course).
I am so hyped right now
didn't know there were even websites for tips in releasing mods 
Yeah there's a surprising number of step-by-step guides on the official wiki, some of which feel quite hidden away.
Yeah I don't know if I'd ever found those sites without the help
Betas from button has one
You can do non exclusive loads in cp 2.0+
I know you can but many people don't and if any mod has an exclusive Load for the asset, none of the Loads work so it's still safer to use EditImage
And doing an editimage that replaces the entire thing isn't mod compatible anyway
Smapi will only error if multiple exclusives happen, an exclusive and a non exclusive load won't explode
I suppose from a support perspective it doesn't really matter if people come in with a Load clash or an EditImage overwrite.
Oh yeah I misremembered what the CP docs said about what happens if one is exclusive
if i use this map file with EditMap to patch a map, do these tilesets have to match what's in the target map? (it's the mist effect from SVE)
I think my default to "don't use Load" is because people will do it for maps when they're just editing a small part and because I am used to simplifying my advice for support so I tend not to give "do this in X situation, do that in Y situation" suggestions because of it.
Which is not to say that it's the right thing for me to do, just that's the automatic thing for me.
I don't think you should need any tilesheet except for what you're using for your patch. I certainly don't include the waterfalls tilesheet in my forest patch, for example.
I come from a performance perspective where doing a load just to ignore the result and do a 100% override via edit is a waste of time
thanks, i guess i'll remove all of the unnecessary ones and test it
Are you referring to the vanilla asset when you're referring to "doing a load"? Or another mod? Because the mod wouldn't be.
performance wise doesn't really matter the difference between mod load and overriden by mod, vs vanilla load and overriden by mod
vanilla loads are faster than mod loads in isolation iirc as the base load mechanism is more aggressive in caching
Isn't the vanilla one still going to load if the mod uses load? Or does using Load mean the vanilla asset never gets loaded at all?
vanilla load only runs as a last resort if no mod loads occur
and regarding tilesheets in map patches, from a purely functional perspective technically only the "new" tilesheets are needed. but to make tiled remotely functional I'm assuming you would need the existing tilesheet references that your patch will need.
just make sure to not rename them or reorder them.
Huh, okay. I wasn't expecting vanilla to go last.
and very much don't add extra tilesheets that the existing asset doesn't have if you also don't use it
I have an upcoming fix that makes that less extreme, but for most map edits, almost all the time is spent adding the custom tilesheets and not the map edit itself
Is there a way to do a Fields edit on quickQuestion code?
I asked about it once and Button mentioned trying TextOperations, but either I was doing it wrong or it doesn't work
is quickQuestion the one that does the really weird backslash schenanigans
Yep 😅
I can't immediately think of a sane way how CP would do regular / traversal to find the correct section, and then do \ or # based splitting to edit the internal contents of it
Damn 😅 I only need to edit a couple of emote lines in an event, and I was hoping not to have to duplicate the entire thing and bloat the i18n
Thanks anyway though
taking a peek under the hood, it is theoretically possible to do nested delimitted string editing, its just that theres no way to tell CP to split by a different character for the deeper layers
Think it's something Pathos might be able to implement if I ask him about it?
very much in the realm of possibility, just a case of priority.
though I do still need to bother pathos myself on a few performance optimizations that work but likely cant ship until I add off switches to not make content pack authors annoyed during development
@ivory plume Hey Pathos! Would it be possible for a future CP update to add the ability to do a Fields edit on quickQuestion code (or some equivalent to a Fields edit)? Currently the only way to edit the quickQuestion itself or any code within the quickQuestion backslashes is via an Entries edit duplicating the event, which obviously isn't ideal for compat reasons or translators. Not an immediate priority, so no stress if it takes a while to get to, but I figured it's worth asking 😄
Is Load better than EditImageor does it depend on the mod?
i'm not sure what you meant here, but removing all of the tilesets except this one seems to be fine for this map file to patch another map in-game via EditMap (which is good because that probably means i can use the same file to patch any other map if needed)
They do different things, which Abagaianye explained earlier
one day I'll spend a day working on diagrams to explain the asset pipeline (along with how ContentPatcher interacts with it) with examples
I know but I didn't quite understand it 🥺
Because of the debate if one should use it or not
Please don't ping me on reply
Oh sry
Load fully adds or replaces while EditData/EditImage overwrites. Think of the asset like a wall with a mural on it - EditData covers that mural with its own painting, while Load replaces the entire wall.
And if there's no wall there at all, you need to use Load to add a wall because EditData can't cover over something that's not there
Also on a side note, your WIP mod is called Better Shane, right? I'd recommend changing the name - there's a lot of mods called "Better [Something]", so it's pretty generic and kinda memed on by this point, it's vague because better how? in what way?, and it's also subjective
The main distinction (in 1.6 where content packs where you can safely do loads) is whether you are fully replacing the asset in question or just a section of it.
if the later, Always do edit, as you shouldn't be shipping contents of the original asset.
if the former, loads are on the table, but realistically only for images and maybe maps (but you need to be doing SVE sized overhauls to justify it for maps) don't do loads on existing data assets, and loads on data assets in CP aren't ergonomic as you don't get to use tokens
Ok now I understand it, thx
I am totally new to mods so I still don't understand everything
Yeah maybe I should change the name but I am still not sure but thank you for your honesty
378 mods with "Better" in the title, which is a double edged sword!
In one way, the name could be kinda samey. In another way, it could lead to better visibility, because the community's used to the Better <x> naming scheme, and might search that more often.
Oh wow... 378 is heavy, we don't need 379 😂
What kind of changes are you making to Shane?
Brb making "Worse <x>"
It just replaces all game art with me struggling in MS Paint
And yet people would probably actually download that mod. 
Knit everything in Stardew. Replace textures with those. Perfect!
roku joked about an MS paint texture replacement mod and I kinda wanna take them on it 
It looks like in this case you will be better off using Load for the vanilla asset replacements (his base portrait/sprite, beach, winter, and jojamart) as well as for the custom ones you'll be adding (indoor and non-winter seasonals) regardless of whether you're using Appearance or not.
Oh man I should not have alt-tabbed on a Dosbox game, now it's tiny
The clothes and the beard.
I know it's the style for his character but I always wanted some nice looking clothes for him (which are not from Joja Mart), because it made me sad
He already has a sad story 🤧
I don't know if I would make some more changes in the future but I think this is a good start to modding and pixel art ^^
It's definitely a good place to start!
Oh I should change it then
This is cool haha
😂 😂
I still wouldn't recommend it. There's no benefit to using Load on vanilla assets over EditImage
SinZ says there is a performance benefit to it and the only downside I can think of is if someone is using two mods that change Shane's portraits and sprites, but that's going to be a problem for them regardless of what action those two mods are using.
It does make sense that editing an existing image (which would necessitate combining two images) would perform worse than just loading an entire new one from disk, yeah.
I think it makes sense that one shouldn't download a second mod which changes Shane's overall look if they already have one 
Yeah, at that point chaos is expected.
You'd think so but then you'd be surprised at how many people accidentally do this lol
The number of people who's reported a "bug" that DSV is not working and it turns they haven't read the compat info and they're using SCA as well... 
Then I'm going to write it with capital letters on my mod page 
It does happen, but regardless of a Load vs an EditImage in that situation... things will still go wrong. 
Capital letters will not help, sadly. People just... often do not read.
It won't make a difference, people won't read regardless of how big you write it
It can feel good to do, though.
Hmmm... I don't understand it, I almost read everything, even the instructions of new kitchen machines
Speaking of compat though, you'll want to note that people using your mod need to turn off Shane in DSV's and SCA's configs, since those both do seasonal outfits for him
I think there was an option where you can toggle it off and on, but I'm not sure
Maybe I can mod it to work with the generic mod config menu mod
Do you mean in your mod or in the other two?
In the other mod
Also Content Patcher mods automatically work with GMCM
note for portraits and sprites and stuff, the performance difference is measurable but not a big deal
maps and tilesheets is a different story. (and LooseSprites/Cursors....
)
Yes, they have that option, which is why I said you'll need to tell people to turn it off.
Ok
Hiya! Quick question, is there a tool or easy way to test / debug modded dialogue / events aside from using CJB Cheats Menu to fulfill event requirements in game?
debug ebi <event id>
there is also, iirc, a command for dialogue too but I don't recall that one
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/config.md
here u go, in case you needed a place to start for config things
Thank you 
debug loaddialogue [NPC internal name] Characters\Dialogue\[NPC internal name]:[dialogue key]
eg. debug loaddialogue Abigail Characters\Dialogue\Abigail:mon6
(tbh, I use the dialogue check function here)
can't be arsed to remember to type the whole debug loaddialogue sequence
Fair 😆
oh sweet
I think I'll make a cheat sheet with all the event / dialogue codes I want to test
I sometimes use patch parse as well for dialogue especially stuff where I'm checking my syntax for using dialogue commands because you can check without even alt tabbing into the game.
This may be less desirable if you have two screens lol
Hi! Content Patcher is a generalist framework, so it doesn't have dialogue-specific parsing. We'd need some sort of general feature like nested text operations, but I'm not sure how we could do that in a reasonably intuitive way. So it's not on my list currently, but I'm certainly open to ideas/PRs.
(New feature on the compatibility list: link to any mod by its manifest ID, including former IDs. For example: smapi.io/mods#Pathoschild.ContentPatcher.)
Forgive the lack of proper formatting as I'm on mobile. I'm currently trying to get a list of all the items each shop has using the GetShopStock method in ShopBuilder. I'm also using DataLoader in order to load all of the shops, which dropped my fps from 60 to 2. To solve this, I decided to cache this data and only call this function during the OnDayStarted if it's the first day of the season, or if the data is null (which is pretty much when the player first loads that save).
I chose to recall this event on the first of the month because I know shops that sell seeds change based on this condition. I was wondering if there were other conditions I should check in order to make sure the cached data is correct.
Here is a link to the code I'm referring to. https://github.com/BlckHawker/Perfectionist-Interactive-Guide/blob/master/ModEntry.cs#L158
shops can rotate their inventory every day
Use AssetInvalidated and a lazy loader
I'm unsure of what that is
i.e. cache once and reload on demand (when the event says it's changed)
AssetsInvalidated tells you exactly when the data changes
Here's simple example tho it's for a custom asset
You wont need the AssetRequested handler ofc
But you may want a DayStarted invalidate
Bc of this
Here's a simple example for shop data:
public override void Entry(IModHelper helper)
{
helper.Events.Content.AssetsInvalidated += this.OnAssetsInvalidated;
}
private Dictionary<string, ShopData>? data = null;
public Dictionary<string, ShopData> Data => data ??= DataLoader.Shops(Game1.content);
private void OnAssetsInvalidated(object? sender, AssetsInvalidatedEventArgs e)
{
if (e.NamesWithoutLocale.Any(static assetName => assetName.IsEquivalentTo("Data/Shops")))
{
this.data = null;
}
}
I'll look into this more when I'm at my PC, thanks
Yeah, it returns the existing value or assigns and returns
Less implicit return
More just c style assigns
this is some of the most horrible code I have ever written
I have a love hate relationship with c style assigns
It's a parser for a reverse engineered binary format... I think it's obligated to be horrible.
this is entirely optionally horrible
yes I am parsing tile properties with regex
i am very, very scared for the actual map data
yay tilesheet!! https://dont-ever.download-ram.online/qyOvS34ghy
tilesheets though...
pillow in browser Tiled
oh i tried that
horribly, horribly laggy
i'm just writing this so I don't have to have my converters run on computers anymore
so sdvconvertergui3 is just the frontend of sdvconvertergui2 but with web
these will confuse nobody (me) ever https://pillow.is-epic.xyz/8n1uDMnZmD
I really hope nobody has a map that's 257 tiles wide.. (there might be 4 bytes for those numbers, and I read one (max of 256))
It's ok 200x200 is soft cap
phew
it was null.
@teal bridge, @tawny ore, @lucid mulch
Please add me, my requests are open to everyone and yours are closed <3
I am very active in both my server and ES but that's about all I can handle, socially
Currently @finite ginkgo handles the C#, S&S is largely finished content wise are we're just trying to get it stable before moving onto Final Mix
Thank you, thank you (and sorry)
I think at this point StarControl is publicly released, so the early heads up period is over
Yup, Endi is working on (I think she finished, actually) the StarControl compat
Ah, cool
The Paladin token bug she fixed as well
The broken finale bug we figured out (incompatible w/ Event Limiter's default)
I think we just have to figure out how to remove broken multiplayer swords from the player's inventory and give them a new one
Oh about that
I don't mean to appear inaccessible, I apologize
Just easily spooked by big spaces these days
There's a plan to make CMCT into middleware
So that you register actions to this and various consumers (like iconic framework, star control) can obtain it from cmct
I think when CMCT is implemented, any existing actions registered to either Iconic or StarControl should continue to work as expected. My plan is to detect CMCT and proxy actions to it, or just continue handling them as-is if CMCT is not installed. There may end up being a time where I cut over to entirely using CMCT without the additional special handling.
Ok, I added you, though I don't think my requests are closed (I get DMs from randos all the time that I have to explicitly ignore).
And since we're still testing and stuff, we don't even know when we'll be ready for any of that to be publicly released.
(Did you get to testing already?)
I've started implementing
Yeah, for immediately usage/release registering to individual api is better for now
Oh I didn't realize the API was done. No one pinged me about anything, thought Button was still working on it.
This is sort of where I'm going with it:
if (ModState.CMCT.IsLoaded)
{
ModState.CMCT.Api.RegisterAction(
this.mod.Manifest,
!string.IsNullOrWhiteSpace(id) ? id : "Generic",
null,
getTitle,
getDescription,
() => this.eventManager.Publish<IIconPressedEventArgs, IconPressedEventArgs>(new IconPressedEventArgs(id, SButton.MouseLeft)),
null,
icon);
}
else if (ModState.StarControl.IsLoaded)
{
ModState.StarControl.Api.RegisterItems(this.mod.Manifest, [icon]);
}
If CMCT is there, then it'll proxy Iconic actions to it, if StarControl is there, it'll proxy actions to it.
Yours were not, hahah
The other two are
Ah, I had to scroll up past a bunch of GSQ stuff.
Can you explain what middleware is in this context?
But CMCT will supersede Iconic's proxying to StarControl
I take it that's representative and not the actual code? Like, if Star Control gives you the secondary action then it would correspond to SButton.MouseRight in your framework or something.
Oh wait, never mind, that's not a parameter in CMCT. Forget that.
I guess that's something we're technically losing with CMCT here, the ability to register secondary actions or other action types for a single action.
Yeah, I wanted to discuss that with you. What should we use as the custom data
So rn if you want to integrate with say star control, you get it's api and register the right actions for adventure bar.
If you then want to do integration with iconic, you do this again.
Once CMCT update is out, you can choose to just register to CMCT. Star control and iconic framework will instead ask CMCT for the actions. This also means if i was to make say, ChuHudWidgets, i can also just go ask CMCT for S&S actions to integrate
I'm basically using IRadialMenuItem as the custom data that I register for these
In general, "Middleware" just means some framework that helps two (or more) systems communicate with each other using a common standard.
So you'll have Enabled, SourceRectangle, Texture (in addition to Id, Title, and Description which is also available as part of CMCT)
I would probably make available everything that's already there today in the IRadialMenuItem interface, unless there is something specific you want to change.
THAT'S SO COOL,
(and except the parts that go in the master record, like Id, obviously)
Okay, yeah the minimal changes on my side is to just continue using the IRadialMenuItem interface, so I'll probably go with that route
You mean, use it as the custom data? I don't see any problem with it, though per above some of the properties are changing locations like the Id.
I'm still trying to think through how we want to handle secondary actions. Didn't you mention possibly decoupling from secondary actions and making that a user-configurable thing?
What users configure is whether to invoke the primary or secondary action (or instant, if you support that, which you probably shouldn't).
In the pie menu it's which button they press, and in the quick actions it's an explicit configuration.
The problem with Iconic is it doesn't know how the mods registering actions uses the event. So they may ignore the left/right click or they may handle both separately.
Well, that's why I moved away from "click" or "button" as the metaphor in 1.0. Originally I had a similar dichotomy, if you'll recall, something like "Use" and "Select" which just didn't translate across the board.
Anyway, while every item conceptually has a primary or secondary action, it's expected that some actions ignore it and just run a generic "action".
That's how the custom Mod Menu items already work, really - there's no secondary action associated with a simulated key press.
how can i remove NPC tokens from a string? i.e. make
"Hello!$h#$b#How are you?" => [ "Hello!", "How are you?" ]
in c#
Event Tester does dialogue and events iirc!
Wait when was that
Regex sub?
Oh, three hours ago. Got discord'd again -_-
I think I mentioned in some future version I might allow users to associate one item to a slot as the primary, and a different item as the secondary, although that is kind of solving a different problem... I don't think it completely replaces the idea of an activation type for a single item, the most obvious example being how inventory items work.
(\$[0-9beh])|#
i am pooop at regex, what does this mean
Need to find out what other letters are valid after $
i think all of em
a b c d e q etc.
what method does the game use to process them tho ?
do you know which method?
You probably need additional regex to deal with $q
i'm not gonna worry about $q, it's not in this usecase
Not off top of head, parse something?
ty, i'll have a look
Might be easier to just look on wiki
checkEmotions it seems
Hey Harvz, while you're here, are you still maintaining Louis's Garage?
not in a while but i plan on it once i get the time
Do you still have trimming down your map patch on the to-do list so it doesn't eat Sunberry's entrance? It came up earlier so thought I'd check 
Thank you!! I grabbed it :D
Hello, can anyone help direct me to the right place
Im trying to make a hoodie with Fashion Sense
Ive done the shirt part and the sleeves part, and i would like to make this into a purchaseable/wearable item ingame instead of using the mirror
Is it possible to make it so that when you equip the shirt part, the sleeves auto equip too?
tilesheets!! https://pillow.is-a-cutie.xyz/9ghAFExllo
I did not want to be awake this early but cats said otherwise.
yeah for layers i'll have to reference tiled
You could also reference xtile source
oh good idea
is there a way to remove a custom item from completion?
for shipping there's a field for that in object data
for cooking/crafting you need this mod
https://www.nexusmods.com/stardewvalley/mods/31247
thanks, should be a quick patch then.
check out peace’s hoodie mod as an example, best bet probably
thank u Lani ! 
muah
Can anyone tell me, do LogNames have to be unique? Or can you have multiple of the same LogName in a single file?
They are for yourself
you could technically have singular log names sure, but their main purpose is to differentiate what they are for yourself when you need to quickly skim logs
If you don't make them unique you will confuse yourself
yeah, LogName is optional, nice to have but wont break anything if you dont put it
https://www.nexusmods.com/stardewvalley/mods/31794?tab=files&file_id=125580
i'd translate this mod to english if it's not english.... but for some reason? transtar isn't working properly for me
Is there a command or a mod that allows you to skip an input of days or to a specific date? O had one mod that was going to do that but it seems to be outdated and not supported anymore? Just need to skip seasons for screenshots
CJB cheats
or the old fashioned method of sleeping days
but yeah cjb cheats?
amazing
10/10 would reccomend
Console commands work for that too. https://stardewvalleywiki.com/Modding:Console_commands
true true
Hello, I’m doing an NPC mod and I was doing the winter star dialogue and I have a question. How can I choose what my npc will gift to the farmer? I am not founding anything about this
anyone know how to use Internationalization?
https://www.nexusmods.com/stardewvalley/mods/21317
if anyone does? just comment in the thread! sorry but i usually find it easier to do that than to keep sending message after message here
Are you trying to translate a mod? It's a tool for translators, not authors.
@rare orbit You don't need transtar or internationalization to translate mods. Just make a copy of their i18n file
This one is just helper tool isn't it
cool cool! any good translators i should use? it's in simplified chinese
are you trying to make a machine translation?
what translators are commonly used for translating other languages to english?
ngl I prefer human translations whenever possible
their own knowledge most of the time
if someone wanted a machine translation they'd do it themselves
i try to do human translations but it does require knowing someone who knows the language
and if thats not you then you dont need to translate it
if it was in spanish? no problem my bf speaks it
it’s a bit annoying when nexus gets flooded with AI translations etc, especially since if the mod author wanted there to be a machine translation they would have just done it themselves
pathos said he thinks google translate is starting to, recently
son of a
but regardless, even non-AI mtl is heavily flawed
is there any translator that doesnt? i am not big on ai.
are these your own mods you’re translating?
no it's Cook Showdown i asked for permission but until i get the green light its for personal use
if someone used any kind of machine translation for my mod, AI or otherwise, i would block them from my page
does anyone know which mod is placing these green rugs in the Archaeology building?
Pretty much every machine TLs nowadays incorporate AI to some degree
well how do you translate a mod if ya don't know the language? or know someone who does??
if someone wants to use machine translation for themselves for personal use, thats fine, but i wouldnt want someone who didnt know the language they were translating to/from to have their translation incorporated into my mod
i dont
you don’t, generally
someone who speaks the language offers
is this in your own game
no
cause like i said if it was spanish? no problem my bf can help
then 🤷
but otherwise i can't
then if your partner wanted to translate my mod into spanish, id accept it. if either of you wanted to translate it into like, russian, i dont want it
of course
unfortunately it's from a play through with over 1000 mods https://smapi.io/log/817c0a89016b45459f9d9b33579380aa
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 323 C# mods and 825 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
if you never plan on uploading it, I’d say google translate is fine
if you do plan on uploading it… don’t
that’s the simple summary
especially for a language like simplified chinese, i feel like its even less likely to be accurate there
true true
I would probably get back to the log owner and tell them to run patch summary asset Maps/ArchaeologyHouse
i just ask cause some mods look amazing but it's in another language
ohhhhhhh
(Pls double check that command I typed it from memory)
good and accurate and desirable localization is simply always (for the time being) going to rely on someone who speaks both languages to translate it. thats just the way it goes. thats why companies hire actual translators and interpreters instead of using MTL
ahh
one of these
ah nice I forgot CP also logs that in trace
then if anyone and i mean anyone wanted to help me translate mods to english that do not have an english translation? let me know
looks like they already did, actually! so someone can look through that too, I just cba
Also speaking as someone who creates content, mainly in dialogue, I would feel very relieved to know that my translator is fluent, or atleast knowledgeable of both languages (former being English and the latter being the language they intend to translate it to)
and speaking as a bilingual person whose other language is very different from English, I promise you that mtl is not worth it. Even human translators struggle with translating between languages that are this different
i dont think theres been any offense, just warning you that MTL is generally not desired for mods
for i18n anyway
i simply wanna make things accessible for everyone i can
i've tried learning japanese
which
very hard
Is it fine if you make a mod and request that only bilingual translators can make a translation?
you can request whatever you want
it’s hard to explain to monolingual people just how bad translations can be even when done by humans tbh
Hebrew has some wonderfully bad translations of some popular books lmao
Ok!
if you were fine with it you could accept MTL (but again, you can just do it yourself)
but odds are it will sound weird to people who know one or both of the languages in question, and you wont have any idea why or how to fix it, bc you dont speak it
sound aka read bc duh its text
yeah i don't mind MTL for personal use (people can kinda do whatever they want with my work for personal use) but i had someone the other day ask if they could do an MTL over my stuff and I was just like... no
(also, there’s a degree of trust you need to have with human translators. There has unfortunately been at least one instance of translators changing text deliberately without letting the original mod author know for political reasons, and that’s just not okay. If your mod has LGBTQ content btw please double check all translations using MTL to make sure it wasn’t removed.)
that def becomes a big issue too as you start thinking about the difference between i18n and l10n
(localization?)
correct
depends on what language it's translating from and to as well
What is an l10n?
i18n = transliteration
l10n = culturally appropriate localization
Oh
think of like trying to translate a pun from japanese to english
thanks
i was just about to use the pun example
pun probably makes sense in japanese but if you translated it literally it would make no sense in engluish
so you use a different but gets-the-point-across english pun
isn't it cause of how the characters work?
it doesnt have anything to do with the alphabet itself
everyone here is familiar with Pokemon's Jelly Donuts right
thats localization
I have it but I haven't seen any time skip methods in it. Let me double check when I get home. Unless it's a different mod in the cjb series
I’ve seen a professional game by an actual game studio using a human translator have issues with a certain term that’s apparently completely fine in Castellan Spanish turning out to have some other meanings in South American Spanish and Catalan 
yeah, there is a lot of different cultural context that helps a joke work
cultural sayings and idioms dont always translate well to EN

