#making-mods-general
1 messages Β· Page 100 of 1
Yeah, Steam tried it at one point
im pretty sure steam also at one point tried it
.. Did they? Have I blanked on it?
they did get yelled at
Yeah, remember the horse armor stuff?
it might not have actually been implemented
Console modding with mod.io? Time to integrate CP into the base game and release content mods for everyone /s
CP is already part of the base game if you're willing to deal with the XNB demon
what's the consensus? 12-48 business months for smapi mobile?
nah it's not coming
CP is way more reactive than just XNB mods, lol
did zane opt back out?
I swear on me good eye
https://steamcommunity.com/workshop/aboutpaidcontent huh, they did!
if you only have one good eye i would say you should probably not wager it
i swear on selphs bad eye
(that was a joke, I still have both eyes, though one of them is worse than the other)
It was for Skyrim, which is why I thought it was Beth.
The developer has to integrate it π And knowing some of how the console port is implemented, separate C# mods wouldn't really be practical (especially harmony ones)
Yeah, the only realistic thing for console mods is resource editing. Hence mentioning CP, lol
If the game had a scripting language more stuff would be possible
(I mean unless you introduce, say, lua scripting. But that's a whole new kettle of fish that'd take even longer)
But that's not practical at this point
lol
Like BG3 script mods are fine on console I think
there was someone making lua...
Just nothing relying on script extender type stuff
Technically events and trigger actions are scripts
like factorio. that game only has CP-like mods to use our analogy, but what the game provides is really, really, really robust
Just... not very powerfuil scripts.
(it's fun for me to look at every now and then whenever someone mentions lua cause it's alien to me)
Also while I say Lua I really mean Luau. Lua is bad enough lets at least have type safety please.
Are you saying players will need to code their way through the summer festival once this is implemented? /s
Yes
I'm not not saying that
[concern]
Oh no you added an unsafe pointer to the soup and made the governor segfault
.. woof, the game's more noisy nowadays. I guess I should go check why Island_W is complaining
would anyone be able to answer a few simple questions about modding for me? π im new to this and terrible at reading instructions on websites it seems
sure, no need to ask next time!
need like a subtitle on this chat for like, "please interrupt them if they're talking about pseudo-off-topic" 
i waited for the discussion to die down for this exact reason π
Yesssss
If you're looking for help installing mods, #1272025932932055121 is probably a better place though.
@blissful panther please
!gettingstarted
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
Add that to the subtitle
but uh!! ive been doing some sprite edits of the new sve fruits to match the better crops and foraging (explicitly for personal use) since they.. stand out like a sore thumb to me.. just using the existing pngs in the files and editing them myself
Please interrupt these fools if they're off topic
im wondering if making them bigger so i can make them higher resolution will mess them up?
you gotta use a framework to make them higher res, like scale up 2
that'd need a separate framework mod
i do have that installed :-0 is there any specific way i gotta do that?
im.. kind of a fool
yeah it's a content patcher format
ahh i see.. i might just keep editing the pngs themselves then
i cant do coding to safe my life lol
there are instructions on the description: https://www.nexusmods.com/stardewvalley/mods/3130
drawing is my job hehe
(ugh ai thumbnail. sorry not related)
well editing the pngs won't give you higher res, you're stuck at 16x16 (objects) 16x32 (big craftables) 64x64 (portraits) 16x32 (character sprites)
I dont know if I would recommend trying to do a high res sprite for your first mod but I would recommend learning how to write a simple CP mod to replace the sprites without editing the images directly in the mod files... otherwise updating SVE will be a pain
It'll be very simple and give you a starting point for future modding
(also don't be too intimidated by Content Patcher code, it's very newbie friendly π )
the logs/errors will definitely hold your hand the entire way through 
ill take a crack at it!! i dunno ive never done any modding before so im just intimidated by it a tad.. hehe
yeah, if this was like your own mod that you're thinking of releasing I'd have also steered you away from doing high res and try to work with that 16x16 gives you
There's a tutorial for setting up your first CP mod and the edit that you need to do is literally one line of code basically
I'm sure people would even tell you what to write lol
If you want to look into it
!cp
Content Patcher (https://www.nexusmods.com/stardewvalley/mods/1915) is a mod which loads content packs to change the game's images and data without replacing XNB files. If you want to make mods using Content Patcher, start at https://stardewvalleywiki.com/Modding:Content_Patcher.
that might be helpful
like i said im really terrible at following instructions on a website. horrible genz brain i just skim over important stuff w/o realizing it
but thank you everyone for the help!!
ill try and do it myself before i come back here begging lol
oh yeah the cp docs have a straight up "copy and paste this and let the error handler tell you what you've done wrong"
It might also help if you look for a mod that does the same kind of thing you want to do, as a reference π
!! so true!! thank you!!
focused on code for 2 hours come back to 449 new messages.... yah not gona scroll back lol
you only missed "not a lawyer"
lol well think ill turn in early got alot of things to test before the early release of multimaps mod
how do u know its 449 new messages exactly
When you don't have Discord focused, it keeps track of the new messages
isnt there a number when you come back? telling you how many messages are unread
don't worry, it was only legal talk
oh that thing 
chat's too quiet, time to restart it - if I have a mod licensed under AGPL, and someone harmony patched it, am I legally obligated to sue them for everything they have
You have to say if it's a joke or it's entrapment
turning back here for help a lot sooner than i thought
how exactly does one make a txt file become a json file
!fileextension
!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.
That probably should be alias'd lol
Once you have those on, just rename your files from .txt to .json
Yeah but I dunno if missing the plural is a good enough reason for a command to fail lol
"You need have the [Content Patcher] and [Generic Mod Config Menu]
Mod to choose the texture!"
it doesnt explain how to though. ik the config, it says non for all of them. should i say "yes" or si" ? or can i change it in game??
https://www.nexusmods.com/stardewvalley/mods/27617?tab=description
i do. send the user to jail if they get it wrong
Well Selph, it was nice knowing ya, see ya in 10-15 I guess
#modded-stardew is a better place
anyway, you'll never catch me alive! turns on portable back hole generator and gets instantly obliterated
i call dibs on EAC
EAC makes me think of Easy Anti Cheat
Same
mb
On PC it shows little tab upper left corner for me how many I missed
oh man i think i really suck at writing code 
to be fair if you've never done it before you probably won't be the best at it yet hahah
just follow the instructions and find some good examples
like i said art is more my ballpark π my biggest issue rn is just getting a measly manifest file set up!!
cant move mountains in a day i just gotta be patient w myself and read stuff
following the guide?
https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Manifest
i am!! its giving me an error on the update keys line though so im a tad confused
You can ignore that
oh thank god π ok thank you
UpdateKey is used when you're releasing your mod on Nexus (or wherever you put it), so not something to worry about now
(you can remove the updatekeys lines entirely, not ignore the error if it's there)
I JUST DISCOVERED MMAP
π«‘ thank you everyone with your patience with me
I usually just put in "Nexus:-1" to make it shut up lol
I keep the ????
But only so I don't have to rewrite it later
i will keep this all in mind thank you everyone im positive ill be back in like 5 minutes with more questions
this channel's made for questions, don't sweat it 
I should really make my own template for csprojs cause I don't think I can live without the manifest builder now 
really? i always imagine the manifest builder a bit trivial, it takes like a minute to copy and set a manifest and then it's never touched again until you change the version
Bluebs, it's great when you have too many mods
Yeah I forsee my stupidity
And need to fix the miniminimum smapi and game version over allll of them
i'm trying to change the bonus equip icons for sword & sorcery but cant really find the correct target(s). the "+" is from spacecore, i found that, but before i trial and error more - does anyone know the target for armor/offhand/shield? o.o"
Considering this one expansion csproj has ...3? Different manifests? I forsee myself forgetting one all the time
ah jeez ok heres now where i have a few questions.. since im not technically modding stardew valley but doing a mod for stardew valley expanded how do i go about like.. coding that ?? i guess?
need a what
i like the auto dependency version update feature
but i wouldnt open a csproj just to use it for a content patcher only mod 
(Yeah)
Yeah I don't have a csproj for those it's more for my crimes / other projects
it's very similar to modding vanilla stardew - the big change is in the "target" part of the content patch
so that depends on what exactly you want to change
objects, just the icons of some fruit and elixers and stuff
ive already got em drawn up and i was just.. doing it the nitty gritty way by replacing the assets and making backups of the images incase an update popped up
(merrily waiting for sdmbcngpkg 4.3.2 so i dont have to use rebuild solution to get my content pack included with my dll)
Since it's specifically for SVE just set it to true
Then you don't have to care about SVE updates unless they straight up delete assets
isnt that out
says 4.3.2 on nuget https://www.nuget.org/packages/Pathoschild.Stardew.ModBuildConfig
maybe gotta turn it off and on again
i only just turned it on :/
(Don't look at me forgetting I put my nuget in offline mode) 
if i have some serialised object like this, do i also need to add the XmlType attribute to its data model classes to have them serialise
[XmlType("...")]
public class ShrineTree : Tree
{
public readonly ShrineTreesEntry Data;
public readonly ShrineTreeDefinitionsEntry Definition;
i'm assuming yes since they're null
u gotta use the spacecore thing right
this is the spacecore thing
since trees go in saves
are these from your custom assets?
Yes
data models for custom assets never go into the save
maybe i'll just keep things simple and remove the trees from the world before saving. it's not like they're growing fruit or anything, just decorative trees
But the readonly may he causing you issues
Oh the ichor snorlax approach
The Snorlax Technique
'remember to give up. i believe in you'
well no snorlax involved here, this is a pokedex entry of a snorlax instead of an actual snorlax
(that is a brilliant way to phrase it)
actually I'm not sure
try it?
well i did try it, the models are null lol
I think the readonly is an issue though
i dont mean to interrupt the conversation btu ive got another question π
ask away
do people do like.. coding commissions? i dont think i can learn how to do this
!commissions
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
omg you guys are so helpful
blueberry i think rather than attaching the fields to the ShrineTree, you should access it with content Load as required 
thank you all so much
can also cache it on some static class with a lazy load, which is what i do
this mod's never actually releasing man it's been like 5 years
i'll save the optimisations for when i care
Yes, all new types need to be registered with spacecore (and therefore have [XmlType])
Or as you said remove the tree before saving
writing data model asset with the instance itself is like giga extreme optimization though
it's easier to not do it
content's cached anyways feel free to just Game1.content.Load<urclass>()
game itself does this whenever it do GetData()
I generally agree, though if it's ever draw frame or something then you would want to cache it
And for a cache, you could just [XmlIgnore] it, and refill the cache the first time its accessed
(Maybe done automatically with a wrapper property)
If you have time this extremely well written section written by an extremely productive member of the community has more info: https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_Framework_Mods#Custom_assets
I think it should be fine since they aren't primitives. Net fields are readonly after all
Then again
Net fields are initialized by default
If it had a default value then it'd be fine (assuming the fields on it aren't readonly)
and also I have a suggestion that NetFields should implement ShouldSerialize to reduce the save file size (and mp packet size but anyyyways atra forgets how to do reflection like a normal person.)
crap
You mean on their individual properties?
it's literally fine, i'm just deleting all trees on resetsharedstate
What kind of net field is bloated is saved?
huh
...Would that prevent them from being serialized?
I thought that stopped working in .Net Core
yes, they aren't serialised once i've obliterated them π
nothing needs to persist, i just didn't bother clearing them before
easier this way
I didn't think resetSharedState was called right before saving
oh btw would spacecore be able to get a simple RegisterAll in the same way harmony has a PatchAll
basically, like, any redundant info, or like, if a field is default false you don't need to serialize it at all if it's false, etc.
so did I ngl
I thought it would fail
wow deforestation
dw we reforest on resetsharedstate (and i meant i destroy everything on cleanupbeforesaving)
Ah. Defaults might be hard to do without manually checking it against the default (Which means if we change the default we need to update it in two places)
Ah, that makes more sense
yeah, wish the attribute version worked
Though I don't think defaults would be doable regarding MP packets, just with how the net fields currently work
otoh
I don't see what's different with this?
aren't the netfields init by the empty constructor
Yes?
oops
Took me a minute to see the difference. IT works with classes but not structs?
nope
although Ithink the structs thing is old
and has to do with structs being structs more than anything else, ie
(Unless it doesn't do that when boxed?)
I don't think boxing would help here
If only reflection had a ref version for struct use
(and xml serializer basically just updates the values of the netfields, so if it's "not there" it would be "default")
huh
And manually boxing it somehow
"somehow" being "I don't understand why it works"
Oh, hmm, I guess I do
huh
Well sure, but how do you get the default value to compare to?
I guess you could... construct an empty version of the object just for serialization comparison and use that?
DefaultValueAttribute 
or b yeah, while generating the serializer
Doesn't that only work with things that fit in annotations?
Though I guess the goal would be net types for primitives 
I'm not sure CA wants to touch serialization much though
yeah, probalby not at at this point lol
you both say 'probably' and 'not sure' as if anyone has ever wanted to mess with serialisation
this was kinda fun if hilarious
which is how I found out nullable primatives entirely ignore the defaultValue attribute like some sort of
I suppose the xml serializer doesn't account for nullables
oh no it absolutely does
that's a lot of fucking text for a nullable, and yes it might be the standard
but the standard is DUMB
a lot of text for a <thing>
yep, that's XML
Clearly we need to come up with our own standards
That always goes well
QML was pretty nice last I tried it
But selph I want more dollar signs in my format
But selph I want more dollar signs in my format
Or what about excess ())()()
Can anyone call to mind a built-in framework type that has a single settable property and fires a change event?
I know that it's trivial to write, but I'm very specifically looking for one that's already in the BCL, and I've been scratching my head for a while and can't think of any existing class or any useful terms to google up.
I can't think of anything, though I imagine there's a lot of the BCL that I'm unaware of
Hi, I'm playing with SVE and I was wondering if it is possible to change the camel's texture with Alternative Textures? I was going to mess around with it but I thought maybe I should check here first
What is the camel?
Farm animal
sure, you can add a custom skin to an animal
and AT should automatically pick it up
https://stardewvalleywiki.com/Modding:Animal_data#Audio_.26_Sprite see the Skins field
hey guys, do you guys know how to extract the apk of Stardew on mobile? I wanted to replace the xnb files with my edited ones and I can't see the "asset" files whenever I open the extracted apk
@next plaza Hey Casey, just realized I couldn't search up GMCM so I went to check and see someone tagged it as AI so it got filtered for me.
Maybe turn that permission off?
Yes, I turned it off for all my mods
Well I have 92 mods, that ain't happening
Why does GMCM have so many tags when none of my other mods do
Like... what?
fr
how is gmcm tagged as a balance change...
I feel like someone or a few people did that maliciously or something?
I just turned it off for GMCM since it seems to be the main problem mod
you can change settings without reloading the game, definitely balance change /j
This is ridiculous. Voice acting?
oh a mod list
we just talked about this
Yeah they're trolling, last time it was SVE being tagged as AI. Since I blocked that tag I couldn't search for it.
this at least reminded me to turn that setting off on my mod in advance
someone tagged my FS top surgery scar mod as "real world issues" once
that is when i learned to turn tagging perms off
feel like trolls would target my mod for having a trans character.
or for the witch, either or
same character
fr
π
When is nexus gonna make batch management for all ur mods 
probably when they roll out the github integration
Or like, global license/perm unless otherwise changed per mod
Or an API so I can
I plan to have her heart events involve helping her revive an ancient permanent transformation spell. One event might touch on her reason for trying to bring back said spell
i'd like to order templates so i don't have to click the same damn things 
Finally a fair and balanced cheating official bug fix performance optimization overhaul quality of life replacer that's broken in and working in most versions and has lighting and meshes and is just for fun is non-playable and a tutorial and .... . . . . .
leaving it to users to tag a mod as "broken" is so humorous from a modder's perspective
all for gmcm??
like, ah yes, let the people who literally have a type of mistake named after them (user error) decide if a mod has mistakes
it's fine if the author is no longer in the community but it's the double edged sword thing
programmers carefully naming an issue 'runtime failure' or 'compiler issue' instead of 'author stupidity'
I mean, these you do know where they come from, you can pin point the issue and fix it. The user error is named like this because the issue directly comes from the user. But yeah, I get the irony
Oh I took "author stupidity" to mean the writer of the code (ie yourself in many cases) 
"Who wrote this garbage code?" //last change by you 2 months ago
Yep!
Is there a way to use vanilla tilesheet that's part of a seasonal set but not having it actually be seasonal?
You want to use it in a map?
Yeah, but I want to do it without having to include the sprite in my mod I don't want it be affected by the season.
Make the location indoor
As far as I'm aware, outdoor locations are the requirement for the seasonal switching
Aw that's too bad then.
that's not a bad idea tbh, i was digging into stardewvalley.locations 
Because the location is Cindersap Forest. π
Maybe you can make it only be one specific season lol
Would have to change just that locations context I guess
With a vanilla map, that's probably opening the door for way more problems lol
I wonder if the "SeasonOverride" map property would work
It does say "which tilesheet to use"
hmm, maybe?
oh, looks pretty solid to me but idk how that works in conjunction to the whole of forest
private Season? LoadSeasonOverride()
{
if (this.map == null && this.mapPath.Value != null)
{
this.reloadMap();
}
if (this.map != null && this.map.Properties.TryGetValue("SeasonOverride", out var propertyValue) && !string.IsNullOrWhiteSpace(propertyValue))
{
if (Utility.TryParseEnum<Season>(propertyValue, out var season))
{
return season;
}
Game1.log.Error($"Unable to read SeasonOverride map property value '{propertyValue}' for location '{this.NameOrUniqueName}', not a valid season name.");
}
return this.GetLocationContext()?.SeasonOverride;
}```
regex is trying to kill me
trying to match json comments is a hell I built for myself
so many types of possible escaped characters and cases to ignore...
I took a closer look at yout VMV files. I get how you add the custom fishs. But how do you add the vanilla ones in MV?
Either i add them one by one or i use the location query to add the entire fishes of a location
Search mountain on my files, you may find it
is it just me or is nexus a bit wonky rn. the mod thumbnails work correctly in the mod page itself and the browse page but in profiles it won't change and it is slowly annoying me 
Realistically the answer is always "yes", because there's basically always something wrong
nexus is a website
wonder why it's only on the profile page though
Sometimes it's just because they're currently working on making changes there
guys can you help me? i updated a tilesheet from walking to the desert redux just to match the simple foliage mod i use but it's bugged and when i try to edit the map in tiled, i can never acess the map in game, when i try to walk to it i get in a loop and teleported to where i was before. When i edited the mod i just placed some more of the mod's original tilesheets into the place i wanted the tree to be
You have to move all the related tilesheets into the same folder as the map when editing it
no error in log?
let me see if there is any errors, i'll try to move everything else too
could that be the problem? the mod folder has only the tilesheets it uses, the ones missing are the base game tilesheets
Based on what you've provided, that's my best guess
!log if you provide a log that would help
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didnβt occur in your last session, please load the game to the point where the issue occurs, then upload the log.
!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!
move the base game tilesheets into that folder too
https://smapi.io/log/471be2491193454a98f1e4cd1cc220f4 i don't think there is any errors
Log Info: SMAPI 4.1.6 with SDV 1.6.13 build 24313 on Microsoft Windows 11 Home Single Language, with 141 C# mods and 307 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
i'll move the base tilesheets then
guysssss
how do i make my custom mineral museum donateable
do i have to set it manually with that tag thing
i was under the impression it would be automatically museumable since its a mineral but i was evidently wrong
it needs the right type
which is minerals plural
since some people did the error of having singular mineral
REMEMBER to test with NEW items
old items will keep the old data
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.
you legend
ok followup for my mineral
how is crystallarium time calculated
because i havent set anything but its automatically decided its 3 days 3 hours
yes there's a default time
you can overwrite it based on mineral input
!vmv has examples, if you feel like looking at the machines json
Visit Mount Vapius (https://www.nexusmods.com/stardewvalley/mods/9600) is an expansion mod that adds a new region in the mountains. Accessible by train, you'll enter the hamlet of Glimsap, with its tight-knit group of villagers, that holds a market twice a week. You'll get to explore new places, fight monsters, get new crops and forage, trade local coins for exclusive goods, and complete tasks to unlock special items, including machines, buildings, and animals.
Hey is "Condition": "LOCATION_NAME Target Saloon", the correct format? Isn't working for some reason even with a lower precedence value
For NPC appearance
Here should be matched against the player's location
Probably need to see the rest of the code
Technically I think Here might be fine in this regard since Appearance change would be pointless if the player wasn't in the same area lol
(technically there's phone shenanigans)
Ah yes, those old landlines with video calling 
Eh, it's checked (in vanilla) when the npc warps
Not when the player warps
Ah, then I guess it should be Target
Like an event event or a festival?
Event event
Ohhhh okay that makes sense. So I should check the player then
Use EVENT_ID instead
Or whatever the one for "this event is current playing"
Yes.
Stardew becomes creepy when you consider the repeated cloning lol
Hahahah ok. I will try that
Ugh thereβs got to be a reason why this isnβt working π€¦
Wait nevermind there is a reason
I mixed up precedence values π€¦π€¦
One more question, when an event command takes a value for layer is that a string or integer? Because it canβt parse βFrontβ apparently
yup Iβm doing addobject
technically i'm not sure it's even a layer, rather a hmm, well
it may be the same but i don't think it counts layer
(as now we can have a lot more than the usual ones)
but rather be "if it's x, it display over front"
Ahhhh ok makes sense.
what's the state of permissions for Yellog's mods? can they still be reached anywhere?
no idea, at some point it was minervagama that had those
I want to say they posted them somewhere because they were leaving modding? Try searching modded-farmers for Yellog.
as you can tell im working super efficiently (im lazy) but this worked thank you
it worked guys! thank you, ur the best
Does anyone know why my spawn tile for my npc entry keeps giving an error?
the error in question
you're missing the way they face
thank you
It's in wrong format
"Home": [
{
"ID": "Default",
"Location": "Forest",
"Tile": { "X": 2, "Y": 5 },
"Direction": "Down"
}
],
Example
yeah i was gonna post an example too but wasnt fast enough lmao, was gonna say theres also bracket issues
i shouldnt eat and post at the same time lol
thank you this solution fixed it
ok correct me if im wrong >.> if i use location data i could create a random spawn chance of any object
for that location
You should be able to do so, just need to make sure the map has spawnable tiles for the object?
^..^ yah no problems hehehe
okay, found the post, basically you can share their mods but only on Naver Cafe
unfortunately I can't access my Naver account right now because I didn't use it for two years and the special security thing just won't let me log in
guys how the hell does "Condition": {} work
the page for conditions on the documentation is only "When": {} which i am led to believe is very different
Condition is a game state query usually
And part of specific data models like shop items
Not a content patcher thing
where and how you are trying to use it?
i need to add a condition in order to make a forage spawn
but i literally cant find a single thing saying how to use condition
Checking forage data
just knowing the specifics for forage isnt useful though because its not going to make me actually understand what i can do with it
just be able to do forage
if you need to add 'Condition', the forage data requests it has a 'Condition' for any custom forage
looking how data uses it will give hints to what you need to put at it
it's not because you don't find it that it's not here, you just don't know what they are so you don't use the right keywords
the conditions are using Game State Queries
Quick question: if you want to add an unmanned shop (like a vending machine), do you have to create a map file or is there a way to add it just with content patcher?
they have a whole page (and mention in different places)
a bit of both. You'll likely need the map patch for adding the asset, but the shop data just need a CP patch (assuming there's something on the building layer)
hints isnt uesful when i need to actually know how it works
i didnt say it didnt exist i said i couldnt find it, thank you for linking it
I didn't found a single 'Condition' on forage data, but...
Thanks!
(Also, sorry for the ping. How do you remove the @ when replying?)
like this
so im trying to figure out how exactly to make my npc dateable but not marriageable. I thiiink that if I use the RejectMermaidPendant dialogue key she'll reject the pendant no matter what. is this correct?
yeah you said you can't find a single thing, hence why i give you the info on what to search
"Chance": 0.7, 70% 7% or .7%? 
70%
scale 0-1
k thanks
is there any way to make my custom items default to the end of a menu instead of the start (e.g. in the shipping tab, my items appear first, i want them to, yknow, not)
with C# yes, no idea how
fair enough
in that case do i just have to specify "MoveEntries": [] for everything
is that even a thing i can do
this isn't C# so no
Hi, does anyone know if it would be easy or difficult to create a mod with a different collection system from the shipping box? I wanted to do something similar to Harvestmoon, with an NPC coming to collect things from the shipping box at 5 pm, for example, like it was in Harvestmoon, and then I would need to disable the automatic sales function at the end of the day... Does anyone know which functions I would have to modify?
I'm not sure what effect you want to achieve hm
i think it will be very complx and you risk conflict with each mods changing that
do you want everything in the shipping bin to be instantly sold at 5pm instead of 2am
for me who just harvest and toss stuff into bin in the morning this makes no gameplay difference
But it's not a gameplay issue, it's an aesthetic issue. It would be really cute to have an NPC come and collect things. Just like in Harvestmoon, I miss that, having an NPC complain that I didn't sell anything today. Or him complimenting me for selling things.
it's just involving lot of very complex part
if you want npc reactions you may be better having some C# stuff to check what the player sold last night and generate some dialogues based on that
with a 1.0 spawn chance i should see at least one forage on the map correct?
assuming you can do C# but the project you want can't be done without C# anyway
hm i have idea
chu : "i am free, i posted my mod"
chu five hours later : "here we go again"
modify the end of day summary to display some dialog from lewis (or whoever else)
the secret is that i havent stopped working on some mod since i started 
(forage spawning needs the tiles to allow forage spawning and the map itself if it's an indoor map, in addition of having the forage listed, not having hit the maximum of the day and some other stuff)
(and the trinket stuff had been done for more than a week its just 1.6.9 hold ups)
max stack -1 map properties ForceSpawnForageables T and tile NoSpawn False
i'll run out of either idea or time or passion eventually
i am the type to have phases where i am really into Thing
yeah i know that
Do you find it easy to analyze the StardewValley.dll code and find the functions or do you spend a lot of time looking until you find the part? Is there any AI that can help with this? Like I ask, where is the function that does such and such, and the AI ββidentifies the class and the name of the function? Or is the only way for me to look for it?
(nospawn isn't the proper property)
for the tile? cuse thats whats on the wiki lol
i decompiled the game so that i can search through it with vscode
dunno if ai would help, it's not public code so doubt any LLM got to indexing it 
its not that hard to read anyways, since sdv not obsfucated
yet there is a lot of roundabout functions, so you may need to patch more than one function and classes that essentially check and do the same thing
Anyone with a minimum of programming knowledge can read and understand what the code does, but the code is huge, and it's full of classes and packages, finding what I want is very difficult, if I don't know which class to look for, lol, for example, I have no idea which class would be in the part where the day ends and the sale is made in the shipping box.
the method is call newDayAfterFade
the particular menu i suggest you to modify is called ShippingMenu though
thats the page that lists what you sold
i think it'd be cute if npc comment based on how much money you made or what categories of things you sold 
and it being purely visual should minimize impact on other mods
But there is no ShippingBin in the code of the newDayAfterFade method
the initial idea (npc comes to farm to collect stuff in bin) is fairly hard due to general npc path finding shenanigans
its newDayAfterFade -> _newDayAfterFade -> showEndOfNightStuff -> (delegate) -> new ShippingMenu
not counting that the bin is not fixed in one location, and more bins can be placed
the benefit of having the whole game unpacked is that i can just search for keywords without following the whole path from begining
In fact it would be a new NPC, specific for this
(but then walk back up to confirm it is really the place)
with C# everything is possible, just question of how much effort and whether you care about compatibility 
making npc path through farm is problematic
also it would mean Lewis is a liar, since he says that he himself will be checking your Shipping Bin at the end of the day
Marnie is coming to bring us the cat, it could be an event
events at farm is different than having npc path in
just change lewis's dialogue
and actually u might notice that those always have the npc just be at your door
cus u cant know what the map around the farmhouse is like
I made a mod with new pets, and got Linus to give me a chinchilla.
then maybe a simple C# mod can be a good next step
i support you making elaborate C# nonsense from the start 
just want to let u know about the possible roadblocks
it is possible to generate an npc path given the current state of a map, like the farm, through c#? or the path needs to be hardcoded on data?
the farm is normally banned from pathing with schedules (which also normally hardcode specific tiles from what i know), but again its C# u can do whatever u want with enough effort
i support people making what they have motivation to do, but i also saw a lot of people wanting to do complex stuff and what happened is them asking for lot of help and then not finishing the mod because it's too complex
i think there's some east scarp ppl that go to farm? not sure exact implementation
I just want to say that I asked for a lot of help but my Night Owl Plus is done and ready to release. I just want to wait all the patches and SMAPI updates for now to make sure it will not be incompatible the next day
Let's look at the mods I've already made using C#
I made a custom version of anticheat
I made a mod to protect chests inside the house against theft.
I'm developing a mod to completely remove money from the game, and treat gold bars as money, and other trade items
Not to mention that I made a framework (mod to create content mods) to put any item you want
So I've done a lot of things, and they weren't simple at all, my mods are complex lol.
then you got the ability to put warnings into perpective
they aren't here to discourage people; rather to avoid people being discouraged when they hit a block they didn't see coming
that would be a nice place to start then
I just have difficulty analyzing other people's code lol
Especially if it uses a lot of file references.
I think you have enough experience to know where to go. Check east scarp mod to see how they implement npc's that go to farm and it may be a nice way to start
Oh, I often give up on what I'm going to do, but after a while I try again. Taking a break helps to refresh my mind, and next time it might work out, and that happened a few times, my first mod was the modified anticheat, and I spent about 2 months on it until I got it right.
the main problem with npc I think is coding their schedules and paths
I just wanted to first figure out how to disable the sale of items at the end of the day.
But this newDayAfterFade function is not understandable
I would proceed first making the sale happen at 5pm. two sale-times is better than none for innitial testing
I didn't find out what part makes the sale of items happen.
chu broke down this here
I've gone through the category list several times and I'm not finding clothing or boots. Before I go any further, would it be possible for the player to sell clothing items using just content patcher? (I'm trying to create a mod that allows the player to sell all of the unwanted decorations and clothing they end up with, rather than just having to trash it. That said, I'm not yet ready to dip my toe into C# modding.)
yes, it's not a category, it's a type of entity
Yes!
(O) is object, (S) is shirt
selling to shop may be doable with the right context tag stuff
You could add the hat/boots category tag to what vendors will buy from stores but like
My plan is to make a separate shop. Would that have more flexibility than the shipping bin?
i think someone mentioned they could sell their furniture in RSV shops so maybe
Hold a hat in game and type debug listtags
One should be something like "category hat" but I'm not absolutely sure
Okay -- still figuring out basic things like how to get the dumpster at the bus stop to be my "donate your used goods for a small tax refund in advance" shop π
stardew valley taxes π₯
They actually removed the ability to sell furniture in RSV, which is why I'm creating this mod. I really liked that feature.
People want taxes lol
The children yearn for the mines and the gamers yearn for taxes
I don't particularly want to pay taxes, but that explains why you get money for "donating" items.
(More or less some people want the game to be easier. Other people want the game to be harder.)
(I just want to finish my sweater before it gets cold.)
Personally I just hate throwing things away (and if I can sell grandpa's old furniture to buy more seeds, all the better π )
(
how far along is the sweater?)
Selling furniture is wonky for game balance because the furniture catalogues let you get infinite furniture for free
Sweater!!
Need to add more width to the back and length to the sleeves, then do ribbing all the way around (knit. Not a fan of crochet ribbing.)
Almost done.
Anyways this is off topic
Just make the catalogs cost money then π
That was the argument for removing the feature from RSV. Since there's a lot of other content in an expansion, I can see this being a concern. Since this mod is only for selling unwanted stuff, I figure people can just not use it if they are worried about the furniture exploit.
Maybe harmony patch the furniture catalog so any items it creates have mod data on them saying they should not be sellable, and let people sell other furniture?
It wouldn't affect existing furniture, but new stuff would be covered
do item spawn fields work on catalogue
could maybe give everything from the Catalogue store 0 sell price
how does inserting a custom token into i18n work?
who is this
need to pass argument into i18n
{{i18n:npc.Kyle.dialogue.PowerUp_Tue |UpperName={{uppercase: {{PlayerName}}}}}}

i have no idea what any of this means...
It's used for festivals
Vanilla npcs are placed in festival maps like this
interest
I assume because seeing them like that was easier on development
i like this beta maru(?)
so the npc.Kyle.dialogue.PowerUp_Tue part is the actual i18n key
its something like HELLO {{UpperName}}
and then |UpperName= is passing an argument to substitue that for cp token value
oh (so it turns out i copy pasted something wrong in the i18nifier)
ah ok, no clue what i18nfier does for this type of thing
(im currently fighting with it)
maybe ask nomori about it?
the important part is just that you cannot use cp tokens in i18n, because it's not part of cp
...trying to i18nify this question was a mistake sob
if it explodes then π€·ββοΈ
explosions are fun
the problem is when it silently causes problems hard to find
so, I have a question about the update keys and nexus.
I upload a first version mod to nexus, but can just take the nexus id after it is published.
There is anyway to edit the manifest after the file is uploaded? or how it is usually managed so the first version have the correct update key in it's manifest?
you just don't upload a file
you get the id as soon as you complete the first page when uploading
yeah! in the jukebox event the "hairs" of gus are kinda jumping at a point
making me think he likely have a wig
Hello guys, I have no experience in programming
and I have something to ask, not sure if this is repetitive question I tried searching for discord message history it is showing me zero result
making mods with content pack frameworks and making mods with sampi does the same thing just different language requirement?
not exactly. Everything a content pack can do a C# mod can too, but C# mods can do stuff that content packs can't do at all
I dont mean by replacing the pngs
If I want to make a new npc with its own dialogue
and add more dialogue and animation to existing npc
however just with content packs you can already do a lot
making a content pack is like borrowing other people's C# code
I see
npcs can be added with just CP (as content packs)
and adding more animation and dialogue goes with sampi?
no
you can also do that with content patcher
to exisitig one
I see
Typically if you're changing game mechanics, that's when you use C#/SMAPI. If you just want to add more content along existing lines, then CP does it all
You should ask here when you have specific things you want to do
That clears my doubt I appreciate for your time
I want to learn programming for hobby, want to try making mods for fun
I was on my way to learn c# then I saw json (on stardew wiki) so left me thinking which one will help me to make mod that I am thinking of
There's much more documentation for making an NPC with content patcher, there's no NPC mod that I know of that does all of it with C#. That being said, it's possible
understood
but you'll have a harder time getting help
C# what is this C#, CP is the only thing i know lol jokes aside i do most everything with cp though havent messed with npc much .. yet
json isn't actually a programming language
file type
I forgot to answer this yesterday apparently... I could maybe do that 
i tend to consider what we do as content pack modders as soft code, as we do have to respect some constraints for stuff to work
imo getting started with a (small) CP mod might be a bit easier to wrap your head around, too - there are some principles that overlap and you can dip your toe in without getting completely overwhelmed by learning to program while also setting up your environment/editors/learning about manifests/formatting/etc
I know it is a file format by json I meant javascript
We dont use javascript
oh
think java has slowly started to die since internet has more C# support
yes but to run it you needed embeded java compilers like oracle at least back in the day lol
json is a file format - the file ending tells a program how/if they can read the file, how it is formatted
let's try and keep the topic focused on stardew modding types so we dont further confuse them
C# and CP
C# uses C# code to work with the game files and CP uses json files and existing framework to load your edits
okay
the tools aren't important
so using the existing framework of CP makes most mods easy to make unless your trying to do something in the game thats non standard like a gun
first you must have an idea
I do have one
just things are going above my head
start simple with one part of the project
don't be me and work on 20 things at once π₯Ή
na just do what i did and combine all the ideas into one chaotic mess that you spend hours on trying to figure out what you were trying to do at first
explodes sigh
... just forgot to hit save on the map so cant test my own changes ...
I'm back. I've managed to get the dumpster where it's supposed to be (it doesn't look right, but I can fix that later), but I can't interact with it and I'm struggling with the documentation. Is interaction something you do with Tiled or CP? Alternatively, does anyone have a good mod to use as an example for something like this? (I started with Raffadax, but in retrospect, a mod with 60,000+ lines of code probably isn't a good match for my tiny, sell-only, no-NPC storefront.)
you can add the shop tile with either tiled or CP
any custom mail is gonna need mfm, right?
no
:O
technically CP is able to add mails since a very long time
it was always the sending part that was limited (and resending it)
Ah okay
but special orders for example were always able to send mail (as well as silent events)
now it's easier
hmm
O.o ive always wondered why am i not able to add reactions to lumina but others can
friends only setting or something?
Would be existing, most likely. I donβt want to touch custom npcs yet
This is where I'm struggling with the documentation. I'm much more familiar with json than Tiled (which I find baffling), so just to confirm: do I need to do anything in Tiled other than create the shop image on the building layer? (i.e., can everything else be done in CP if I look hard enough?) Thank you!
vanilla use a feature that send the letter NPCcooking at any recipe that use the f npc heartlevel condition.
Ex : a recipe with f Gus 3 will send the mail named Guscooking
This mail already exists in vanilla. It may then not fit your recipe. But if it does it's pretty straightforward
*tiledata
if it doesn't, then you will just need a trigger action to send the mail and have the mail attach the exact cooking recipe you want
yes to my knowledge
you can do anything in JSON outside of the asset
Thank you!
Can I tell it to send βGusCooking2β, for example?
Or hardcoded
no
Dang
Okay makes sense
you can tell "use this trigger action to send stephanysrecipes_gusraviolis"
Hmmm
Honestly I may just leave it default for now and mess with mail later
β¦or i could be lazy and just use ShaneCooking
(Thereβs a veggie pizza with peppers, so it would be perfect coming from him)
Either way thank you for the info!
sure π
note that i never tried what happen if you use the same exact friendship unlock than vanilla (ex : f shane 3)
there's no "apple cider-adjacent" object in the game, is there?
Not that I know of? Cranberry candy would be closest I think
dang fr?
Lemme double check
apple wine i guess?
Oh yeah, youβre totally right
is there a way for me to give the player specifically apple wine, instead of just normal wine?
i don't remember if we can have that outside of machines
i have vague memories of maybe being possible
no idea how
hmm would a spouse gift work?
(is this directed towards me?)
yes
not possible in vanilla, but you can use Extra Machine Config to use item queries in trigger actions, which in turn can be put in dialogue: https://github.com/zombifier/My_Stardew_Mods/tree/master/ExtraMachineConfig#use-item-queries-in-add-item-trigger-action
dang
XD would be funny if i made my npc mod require extra machine configs just for one or two line of dialogue
ExtraExistenceConfig
just putting in the item ID for wine gives me regular wine, and not specifically any one type of wine so i was wondering if it were possible (answer: not in vanilla)
you can have those line in a separate patch requiring the mod
and list on the mod page that there's a few bonus things with the mod
hmmm well it's such a tiny thing that i dont know if i really care enough to do it haha
Just make a new Sparking Apple Cider and sell it in the store
...i forgot i could do that
Or make it a gift
it's up to you, i like having some extra that are working if a mod is enabled π
Or whatever else you want it for
OH that reminds me actually
I donβt know if iβm asking this correctly, but I have a config to enable compatibility with different mods. Is there a way to make it autodetect which mods a player has and turn on/off accordingly?
for some stuff yes
(Currently itβs just default false on everything but)
depend of what the config controls/enable
Basically different recipe packs, e.g. ones that use cornucopia ingredients, grow your meats ingredients, etc
do you want people to choose to enable them anyway?
or do you want them to always be enabled if the mod is here?
I mean, itβs more so people can pick and choose what kinds they want. If for some reason they have cornucopia enabled but donβt want cornucopia recipes, they should be able to disable them
so
i remember i did some stuff with dynamic tokens, but i don't remember if i can use a dynamic token in a default config option
but basically yes, the concept is possible
either you allow them by default but has a check on the patch/include to only activate them when the mod is installed (may confuse users, but what doesn't?), or you have something like the default being "auto" being dynamic based on installed or not
iirc it will probably pick the custom one first, then after like 3-4 days of saving it'll send the vanilla one
there may be other ways, dynamic tokens and checks allows for a lot of different logic going on
(order not guaranteed)
fyi, cornucopia has a specific detectiong method for other mods to use due to the item configuration toggles, so feel free to ping me for help with that
as long as it works it's good enough π
Does anyone know what function uses C# to find out whether the farm has separate or shared money?
Oh noted, thank you
Honestly I may just leave it manual and people can just click through
But I wanted to ask anyway
Game1.player.team.useSeparateWallets.Value
thank you very much
(β¦although that being said I can already see the posts about recipes not appearingβ¦weβll see lol)
π€
and now im stuck bc i dont know how to add an item into the game with CP
It's not too hard :) you need two entries: one loads the texture, the other defines the object's data (name, description, category etc)
I AM working on it now haha
thank you for pointing me in the right direction (pun intended)
anyone know when the farm shipping bin became a building
now I want to make a wizard/witch related quest where, while unsolved, will trigger warp of the player to random localisations with unpredictable and unrelated triggers
1.5
ty, there was some old unused logic left over 
Okay! I have managed to get the dropbox into the game, it looks attractive, and when the cursor hovers over it, it turns into a hand, which I think means the OpenShop action property is working. However, when I click on it, the shop doesn't open.
i mean 1.3.27 added building versions of shipping bins
but the default one became a building in 1.5
I've stripped down the shop code to the bare minimum I think should work while still including at least one thing I want the shop to do (I figure I can add more details later, once I get the shop open). Any idea where I may be going wrong here? (Before I start pasting code, is there a way to do it so it doesn't take up a ton of lines with just brackets/braces?)
Old farm map mods have double shipping bin bugs as a result
Which is the only reason I know this
afaik you can link the json
!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.
Okay this might sound conspiratorial, but what are the chances that ConcernedApe saw my mod and that's why he added it to vanilla in 1.6.9? 
before diving into cp documentation: is it intentional that it's SalableItemTags instead of SellableItemTags ?
Oh, heck. No. I can fix that now.
:D
where's the generic dialogue for npcs located? specifically for when they accept/reject bouquets or mermaid pendants?
!1.6
Either 1.6 or 1.6 added dialogue keys for that
Somewhere on one of the migration pages
Like it's probably just wishful thinking, but I made this back in May, and now in November it's more or less been added to the vanilla base game π₯Ή https://www.nexusmods.com/stardewvalley/mods/23449
Graduated to vanilla

Correct, my mod still adds way more functionality and is more extensive. I might end up renaming it "Better Legendary Fish Ponds" now that the primary functionality is vanilla
(Zero.)
Well, that didn't solve the problem, but at least that part will hopefully work when I can get the store to open π
My mod lets you put up to 10 fish in a pond, has population gates with specialized items, has specific loot tables for each fish other than just roe, and also has unique colors for each fish
Yeah, the vanilla variant was mostly because that one book started giving people legendary roe
wait, if legendary fishes multiply in ponds now, I can put one in a pond, wait for it reproduce and so sell them infinitely
would it make them less 'legendary'?
still cant find it...
ive looked under strings and dialogue
Not in vanilla
It never reproduces
(Just to make sure it isn't a Tiled issue: in Tiled, I have the following custom properties for the Building layer: Action OpenShop AIFN_DonationBox (that's the name of the shop). There's no NPC involved, no hours when it should be closed (all fields that looked optional.)
You CAN do that with my mod 
From what I can tell with the shipping bin in Farm, the TAS for the lid never gets initialized now, blocking the open/close logic
It's under a migration page not categorized right yet
However, islandwest bin use Farm.showShipment for some reason???
Yeah it's weird
Back when the shopping bin crash w a s happening I went and looked through all the code
And wasn't amused at how repetitive it was
new achiv idea for the Better version: saving endangered species from extincion!
havent played around with tiled (yet) so i cant answer that ^^"
Totally fair. Today is my first time playing with Tiled and with any luck, it'll be my last.
Thank you for your help!
i found it
Not sure if this is the right place, but is there a way to change both vanilla and modded (particularly Cornucopia & SVE) prices for both selling and buying?
does the vanilla profit margin option not do that already? (ah, you want custom multipliers for it?)
And if possible, from profit margin formulas
Guys, I was looking at the code, it really is very complex to change this behavior of the game of paying for shippingBing things at the end of the day, I even managed to make the game add everything up at 5 pm, and pay, but I think that the way I'm doing it the items won't be counted as shipped, so I think it's easier for me to set the NPC to come at 00:00 and stay there at the shipping box "counting" until 02:00 so I can leave the code the way it is and just do the aesthetic part.
There's a small issue regarding this as fishing seems to be a massive money spike than any other skill.
At least for me.
Friend of mine makes almost triple than what i do when we both main our profressions from dawn to midnight
I'm looking to see if I can reduce the individual fish's prices down further then let the margin profit's formula work after (if applicable)
Because even with 25% profit margin, we could still make 100Ks before Year 1 Fall
π€ for custom items, how exactly do the gift tastes work?
You add the item name, same way you would add the ID for a vanilla one. If the game doesn't have that item, it'll ignore it. You can also add context tags.
ooh
!npc I have a little more detail in the NPC tutorial.
Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:
-
Tiakall has a great tutorial on making a custom NPC for 1.6.
-
NPCs no longer use dispositions, check the wiki page for the new NPC data.
-
Aviroen has put together a template that will allow you to easily create a romanceable NPC.
-
Feel free to jump into the https://discord.com/channels/137344473976799233/1277457201077813280 thread for more interactive feedback and help!
-
Fireredlily has a WIP NPC Builder Please do report any errors you get with it into the NPC thread!
:3
i read the texture to get the placement tile, i use it in many places for displaying ranges etc
fixed it now tho :3
so im looking on the wiki for like, the shops and whatnot, and i'm confused about
"Action": "EditData",
"Target": "Data/Shops",
"TargetField": [ "FishShop", "Items" ],
"Entries": {
"(O)219": null,
"Example.ModId_Pufferfish": {
"Id": "Example.ModId_Pufferfish",
"ItemId": "(O)128",
"Price": 2000
}
}
},```
the "ItemId" part
That's the ID of the item you want to be sold in the targeted shop
if it's a custom item though, is the item id just like...? ModId_CustomItem ?
Pretty much
You might have to make it the qualified item id version
So (O)ModId_CustomItem if it's an object
"Action": "EditData",
"Target": "Data/Shops",
"TargetField": [ "Saloon", "Items" ],
"Entries": {
"{{ModId}}_Pumpkin_Spice_Mead": {
"Id": "Forsy.lysextraitems_Pumpkin_Spice_Mead",
"ItemId": "(O)Forsy.lysextraitems_Pumpkin_Spice_Mead",
"Price": 2000
}
}
}
hopefully this looks normal...?
Format looks similar to what I have in SFS 
Hi. Just wondering how to use the Kisaa's Extra Floor Pack. Is there some place to buy stairs for it?
π€ i think #modded-stardew would be a better place...? you're trying to play with it in-game right?
I havene't tried yet, but I'll ask there. I love PIF stuff
this channel is for the creation of mods rather than actually playing with them
There are so many places with modded or modding sometimes I don't know where to start π
ahhh
Would it be possible to create a repeated event using the content patcher?
Make the same event happen every day on the farm?
The way I did it, the event only happens once.
{
"Changes": [
{
"LogName": "Edit Event Farm",
"Action": "EditData",
"Target": "Data/Events/Farm",
"Entries": {
"mayorshipp/t 1700 1800": "continue/64 15/Lewis 72 15 0/skippable/pause 500/speak Lewis "Hello @!$h#$b#Estou conferindo os seus itens na caixa de remessas"/pause 400/speak Lewis "Estou recolhendo seus itens e serΓ£o pagos ao fim do dia.$s"/pause 500/speak Lewis "Um relatΓ³rio serΓ‘ mostrado para vocΓͺ ao encerrar$h"/pause 1000/end"
}
}
]
}
IIRC you can unmark an event as unseen using trigger actions? might be wrong about that though
yes, and there's a command too so another event can mark it as unread
(note that event ids should be more unique ideally)
{
"Id": "{{ModId}}_unique_trigger_id_here",
"Trigger": "DayEnding",
"Action": "MarkEventSeen Current <event_id> false"
}
an example of resetting it with a trigger action, if you wanted it to happen once a day
(assuming you're using CP)
https://stardewvalleywiki.com/Modding:Trigger_actions for more info
cant you also use an event command in the event itself to prevent it being marked seen?
I'm still thinking whether to use C# to move the NPC to the farm, or to use events in the content patcher... the problem with events is that the NPC leaves when the event ends, and using C# it would stay there until the time comes.
if you want them to stay you do have to use c#
eventSeen <event ID> [true / false]
"Used to prevent a mutually exclusive event from being seen. Has special logic where if the event ID is the current event, then it prevents the current event from being marked as seen when it ends or is skipped if it was set to false. Used for repeatable events."
actually, you might be able to use conditional schedules to force an npc to start the day on the farm, but since NPCs are banned from pathing on the farm, that may end up being a bit jank
Slight correction, but NPCs are banned from pathing to the farm. The PathFindController itself should work to some extent on the Farm, though it may not account for everything the player places which could cause problems. (There's technically code for opening fence gates even, though it looks like that's never enabled)
StardewUI v0.3.0 is finally out!
- Mod page: https://www.nexusmods.com/stardewvalley/mods/28870
- Release: https://github.com/focustense/StardewUI/releases/tag/v0.3.0
- Changelog: https://github.com/focustense/StardewUI/blob/master/CHANGELOG.md#030---2024-11-10
- Docs: https://focustense.github.io/StardewUI/
(Posted here for those who don't follow the #1293051032904925255 thread; if there's any follow-up then feel free to ping me in-thread. Thanks!)
unless i need to rewrite half of my test mod you can also replace the mod id in "Id" and "ItemId" with {{ModId}}_Pumpkin_Spice_Mead
Only if those are from the same mod
If they're referencing a separate mod they made then it won't work
Then a-okay
it's not really a do-or-die feature at all hahah, i was just looking at how i'd possibly do something similar myself and got dizzy somewhere around get-current-assembly, figured it'd be better to ask
i had this at one point
ISpaceCoreApi? spacecoreApi = Helper.ModRegistry.GetApi<ISpaceCoreApi>(
"spacechase0.SpaceCore"
);
foreach (TypeInfo typeInfo in typeof(ScytheEnchantment).Assembly.DefinedTypes)
{
if (typeInfo.GetCustomAttribute<XmlTypeAttribute>() == null || !typeInfo.IsAssignableTo(typeof(ScytheEnchantment)))
continue;
spacecoreApi!.RegisterSerializerType(typeInfo.AsType());
}
probably won't be all that useful since most people only have about 1~2 custom serialised types
to register types extending ScytheEnchantment that have XmlTypeAttribute
but hey, if it's easy then why not
but yea later i was like man i only got 4 things
hehe
but what if you have more things later
future you will thank you for saving them a couple seconds maybe
it's not like someone's going to define a bunch of classes with the serialisation attribute and then not want to register them for serialisation
idk my monke brain just prefer to look at this instead
spacecoreApi!.RegisterSerializerType(typeof(PalaeontologistEnchantment));
spacecoreApi!.RegisterSerializerType(typeof(GathererEnchantment));
spacecoreApi!.RegisterSerializerType(typeof(HorticulturistEnchantment));
spacecoreApi!.RegisterSerializerType(typeof(ReaperEnchantment));
spacecoreApi!.RegisterSerializerType(typeof(CrescentEnchantment));
i dont have an explaination
monke brain says enough π
my brain looks at that and says "i can turn these 5 lines of manual registering into 10 lines of reflection based registering instead"
i always use reflection for this stuff
everyone knows more LOC = more good
10 lines of code > 5 lines of reduplication π
not love of cooking. though that is also good
less love of cooking = more good
var enchantmentTypes = AccessTools
.GetTypesFromAssembly(Assembly.GetExecutingAssembly())
.Where(t => t.IsAssignableTo(typeof(BaseEnchantment)) &&
t.Namespace?.Contains("DaLion.Enchantments.Framework.Enchantments") == true);
foreach (var type in enchantmentTypes)
{
this.ModApi.RegisterSerializerType(type);
}
but its more scalable
blueberry π€ casey
Hating on their own mods
they defunded the post
You should never send food in the mail.
tell that to caroline
you should never send explosives in the mail.
Well, the lore establishes that the residents of Pelican Town aren't the brightest bulbs in the box.
Kent sends you bombs
Heh, and I was just going to say, some of them send you literal mail bombs.
I'm with you on this, by the way. I'm guilty of a lot of clever code, no doubt, but I try to limit the clever code to things that are really difficult to do the boring way. The reflection version is slower, harder to test and much harder to debug if something goes wrong.
Got it
...isn't that usually a lead-in sentence to a suggestion to do some insane thing that no one should ever do?
(maybe his app crashed)
Writing my next project in IL
(No, we're playing a game of "how many electrical engineers does it take to change a lightbulb.")
Is there an IDE that does that? Lets you write in actual IL instructions, without having to translate them into individual bytes yourself?
that's all well and good, but i only have to write api.RegisterAll().
i'm innocent πΌ
And "I know where the stripper is."
I like where this is going.
Seriously though, an electrical shop that doesn't have 50 spare bags of wire nuts? They're littered all over my own home.
Hey all, sorry to drop in the middle of things, not sure if I run into a vanilla bug (or if it's by design) while testing audio-cue-magic that chu has made for my mimic, but... before I go to the vanilla support channel just wanted to ask if anyone remembers seeing the Ginger Island shipping bin playing the intake animation (the 3 frame animation on item drop into the bin) and if anyone would be willing to do a quick check on their end if it still does play it? My decompiled code (though it's from 1.6.8) looks like it should?
(I've tested on my end with frameworks+mods, with just smapi+cjbcheats, and with pure vanilla no smapi etc - couldn't get it to play on any of those)
Island shipping bin animates, I'm almost positive.
Maybe not an IDE but I though there was a command line tool for it. Though I could be thinking of Java
the open close thing works yea
I just tested and yes, the bin still animates.
I don't remember any animation of dropping things into the bin?
Lid works as it should, it's these three though that don't seem to play
Works fine on the farm bin 
I don't see any difference between farm and island.
Not sure where those extra frames are supposed to play.
i thought those were the [chu vc] homf frames
homf
The what?
you know, where the bin goes homf
I'm actually laughing
homf
when u r hold an item over ur head and u left click
to toss the item in
and bin goes homf yes
surprisingly ilspy doesn't include homf in the decompile, but speaking as a developer, those are the homf frames
with those 3 frames tea selected
Btw button, your trigger actions mod let me fix a bunch of items that suddenly became bugged in 1.6.9+, so thank you so much for that
Ok, interesting, I have literally never done that in hundreds of hours of play.
Didn't even know you could.
im curious what were the bugs :o
But I just tested and I get the same animation on the island. (For the uh... homf)
There is a lib for that
(i also did not actually know you could toss items in like that)
Our artisan goods didnt have the Type field defined until like three weeks ago, since it didnt actually cause any problems and i only added it for mod compat when someone asked. But it turns out that items without Types cant be shipped in 1.6.9+. So all of the old items suddenly couldnt be sold anymore because they were generated without types
huh. i had no idea Type was like, optional
Yeah it's not supposed to be, but I never noticed it was missing because there were no errors of any kind
Library implies something like Reflection.Emit or Sigil. I meant being able to write MSIL as opposed to emit it to a dynamic assembly through C# code.
strange, but makes me very glad that there are now two (2) whole people who got use out of that action
That's the homf you see on gi, yes?
Codeproject link is dead, so there's that...

