#making-mods-general
1 messages · Page 327 of 1
its a mod that gives you more options when it comes to making clothing
vanilla system pretty restrictive
personally i recommend making a hat
hats are nice
Any such things as animated clothing? (just asking for in the future)
also a FS feature
time to test all this work
Was I hallucinating? I thought that there was a keyword we could use in a schedule to make a character start the day at a new location, or at least warp them to that spot instantly?
0 schedule
(You may also have been hallucinating but you just start the schedule with 0 location x y. See leo's)
{
"Action": "EditData",
"Target": "Data/Characters",
"Entries": {
"{ModId}_System.Windows.Forms.TextBox, Text: Stennis": {
"DisplayName": "Lord Stennis",
"BirthSeason": "spring",
"BirthDay": 19,
"HomeRegion": "Other",
"Language": "",
"Gender": "Male",
"Age": "Adult",
"Manner": "Polite",
"SocialAnxiety": "Neutral",
"Optimisim": "Positive",
"IsDarkSkinned": false,
"CanBeRomanced": true,
"LoveInterest": "Evelyn",
"Calendar": "HiddenUntilMet",
"SocialTab": "HiddenUntilMet",
"CanSocialize": true,
"CanRecieveGifts": true,
"CanGreetNearbyCharacters": true,
"CanCommentOnPurchasedShopItems": true,
"CanVisitIsland": true,
"IntroductionQuest": false,
"ItemDeliveryQuests": true,
"PerfectionScore": true,
"EndSlideShow": "TrailingGroup",
"SpouseAdopts": true,
"SpouseWantsChildren": false,
"SpouseGiftJealousy": true,
"SpouseGiftJealousyFriendshipChange": -30,
"DumpsterDiveFriendshipEffect": 10,
"DumpsterDiveEmote": 8,
"FlowerDanceCanDance": true,
"WinterStarParticipant": true,
"SpawnIfMissing": true,
"Home": {
"Id": "HomeSpawn",
"Location": "BusStop",
"Tile": {
"X": 17,
"Y": 28
},
"Direction": "Down"
},
"Size": {
"X": 16,
"Y": 32
},
"Breather": true,
"EmoteOffset": {
"X": 0,
"Y": 0
},
"KissSpriteIndex": 33,
"KissSpriteFacingRight": false,
"HiddenProfileEmoteDuration": -1,
"HideenProfileEmoteStartFrame": 16,
"HiddenProfileEmoteFrameCount": 4,
"HiddenProfileEmoteFrameDuration": 200
}
}
}``` The first Character Data generated by NPC Creator!!
needs some work.. but it's there!!@
I could use some help hammering out some details
lets goooooooooooooooooooo
string CharacterId = $"{{ModId}}_{CD_NPCNAME}"; seemed to comeout wrong
i fixed one part of it
but the {{ModId}} Comes out as {ModID}
Update project 3D AR
- you can seek my code how it work at:
https://github.com/NRTnarathip/StardewValley3D/blob/master/StardewValley3D/FarmerRenderer.cs
Worked perfectly, thanks!
Anyone know if there's a mod that only changes the look of your equipment but keeps the stats? I got too used to some custom clothing speed buffs hahaha
"Hideen" instead of Hidden is in there towards the end.
sure.. but that isn't what i need to fix at this time
Wasn't sure if that was an output error or just from transcribing it, so wanted to mention in case it got overlooked, sorry!
it's something i can fix easily x3
i am worried about the top
and i fixed the issue on my own
DataModels.NPCCharacterDataModel NPCDatum = new DataModels.NPCCharacterDataModel
{
DisplayName = CD_DISPLAYNAME.Text,
BirthSeason = CD_BDAYSEASON.Text,
BirthDay = (int)CS_BIRTHDAYDAY.Value,
HomeRegion = CD_HOMEREGION.Text,
Language = CD_LANGUAGE.Text,
Gender = CD_GENDER.Text,
Age = CD_AGE.Text,
Manner = CD_MANNERS.Text,
SocialAnxiety = CD_ANXIETY.Text,
Optimisim = CD_OPTIMISM.Text,
IsDarkSkinned = CD_DARKSKIN.Checked,
CanBeRomanced = CD_ROMANCE.Checked,
LoveInterest = CD_NPCLISTLOVE.Text,
Calendar = CD_CALENDAR.Text,
SocialTab = CD_SocialTab.Text,
CanSocialize = CD_CANSOCIALIZE.Checked,
CanRecieveGifts = CD_ALLOWGIFTS.Checked,
CanGreetNearbyCharacters = CD_GREETOTHER.Checked,
CanCommentOnPurchasedShopItems = CD_COMMENTITEMS.Checked,
CanVisitIsland = CD_VISITISLAND.Checked,
IntroductionQuest = CD_INTRO.Checked,
ItemDeliveryQuests = CD_ITEMDELIVERY.Checked,
PerfectionScore = CD_Perfection.Checked,
EndSlideShow = CD_ENDING.Text,
SpouseAdopts = CD_ADOPT.Checked,
SpouseWantsChildren = CD_WANTSKIDS.Checked,
SpouseGiftJealousy = CD_GIFTJEALOUS.Checked,
SpouseGiftJealousyFriendshipChange = (int)CD_FPLOSS.Value,
SpouseRoom = null,//Not Implemented
SpousePatio = null,//Not Implemented
SpouseFloors = null,//Not Implemented
DumpsterDiveFriendshipEffect = (int)CD_FPADJUSTDD.Value, //Not Implemented
DumpsterDiveEmote = 8,
FriendsAndFamily = null,//Not Implemented
FlowerDanceCanDance = CDCanDance.Checked,
WinterStarGifts = null, //not implemented
WinterStarParticipant = CDWinterStar.Checked,
UnlockConditions = null,//Not Implemented
SpawnIfMissing = true,//Not implemented
Home = DefaultHome, //single home implemented
TextureName = null,//No implementation
Appearance = null,//Not Implemented
MugShotSourceRect = null, //No implementation
Size = new PointModel
{
X = 16,
Y = 32,
},
Breather = true,
BreatherChestPosition = null,//No custom implementation
BreatherChestRect = null,//No custom Implementation
Shadow = null, //No custom implementation
EmoteOffset = new PointModel
{
X = 0,
Y = 0,
},
ShakePortraits = null, //Not Implemented
KissSpriteIndex = 33,//Placeholder
KissSpriteFacingRight = false, //placeholder
HiddenProfileEmoteSound = null, //No customization
HiddenProfileEmoteDuration = -1, //Default
HiddenProfileEmoteStartFrame = 16,//placeholder
HiddenProfileEmoteFrameCount = 4,//placeholder
HiddenProfileEmoteFrameDuration = 200,//Placeholder, default
FormerCharacterNames = null,//not implemented
};
``` There's a lot I haven't finished... but at least it's running
Hey everyone, I'm curious about something and wanted to ask your thoughts. If someone does a translation or any add on content for a mod I've made, is it allowed for the author of the additional content to receive DP for their add on mod?
it's up to you
so? ya know the little npcs framework? how do i allow for the children to be born to any npc? i wanna do a pack that looks like Amelia's kids Sonya and Morgran and just have for other kids of my ocs
On Nexus specifically there's a section in permissions that says, "Give permission for users to be able to earn Donation Points for their mods if they use my assets?" and you can choose yes, no, or contact me for permission
Thank you both. What do the majority of mod authors prefer?
And what would I do if my permissions weren't respected?
report on nexus
i personally dont mind if someone who does a translation or portrait mod of my mods take DP. its really up to you but I dont see any harm in it since they enjoyed my mod enough to make a translation/portrait mod etc I think they deserve some reward
I don't mind them getting DPs for translations or art, i encourage it! If they replicated my entire mod in the process that would piss me off though.
yeah true that tho
Thanks for the opinions c:
hmm, what's wrong with this part?
error: [game] Event 'amyroh.cov_IrisSad' has command 'friendship amyroh.cov_Iris 100/pause 400/emote amyroh.cov_Iris 32/pause 400/speak amyroh.cov_Iris Thanks for stopping by, @. I still feel sad, but you made me feel a bit better. $9#$b#Thanks for being my friend, @. You and Flora and the best people ever. $8/globalFade/viewport -100 -100/pause 400/message I hope Iris feels better.../pause 400/end/' which couldn't be parsed: required index 2 (int friendshipChange) has value '100/pause', which can't be parsed as an integer.
smapi log: https://smapi.io/log/e5688d82547e43d49e1219a3ede0d6b3
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on macOS Unix 15.5.0, with 22 C# mods and 15 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
hate to bug again about this, but im struggling to figure out what ive missed, as despite setting up the ModConfig data model(with defaults embedded), no config file ever gets produced, as such despite trying to have GMCM intergration it just doesn't work. ive clearly missed something important.
internal sealed class ModEntry : Mod
{
/*********
** Public methods
*********/
/// <summary>The mod entry point, called after the mod is first loaded.</summary>
/// <param name="helper">Provides simplified APIs for writing mods.</param>
public static ModConfig Config;
public override void Entry(IModHelper helper)
{
Config = Helper.ReadConfig<ModConfig>();
var harmony = new Harmony(this.ModManifest.UniqueID);
harmony.Patch(
original: AccessTools.Method(typeof(StardewValley.FarmAnimal), nameof(StardewValley.FarmAnimal.getSellPrice)),
postfix: new HarmonyMethod(typeof(ObjectPatches), nameof(ObjectPatches.SellValuePatch))
);
}
private void OnGameLaunched(object sender, GameLaunchedEventArgs e)
{
// get Generic Mod Config Menu's API (if it's installed)
var configMenu = this.Helper.ModRegistry.GetApi<IGenericModConfigMenuApi>("spacechase0.GenericModConfigMenu");
if (configMenu is null)
return;
// register mod
configMenu.Register(
mod: this.ModManifest,
reset: () => Config = new ModConfig(),
save: () => this.Helper.WriteConfig(Config)
);
configMenu.AddSectionTitle(
mod: this.ModManifest,
text: ()=>"Tuning",
tooltip: ()=> "Edit the values used inside the calculation of animal sell prices."
);
configMenu.AddNumberOption(
mod: this.ModManifest,
name: () => "Base Value Bonus",
getValue: () => (float)Config.BaseValueBonus,
setValue: value => Config.BaseValueBonus = value,
tooltip: ()=> "The Baseline bonus over the animals purchace price that a max friendship animal will sell for. Default : .3 (30%)"
);
configMenu.AddNumberOption(
mod: this.ModManifest,
name: () => "Rancher Value Bonus",
getValue: () => (float)Config.RancherValueBonus,
setValue: value => Config.RancherValueBonus = value,
tooltip: () => "The bonus to be added to the baseline bonus in the calculation for players with the Rancher profession selling any animal. Default : .25 (25%)"
);
configMenu.AddNumberOption(
mod: this.ModManifest,
name: () => "Shepherd Value Bonus",
getValue: () => (float)Config.ShepherdValueBonus,
setValue: value => Config.ShepherdValueBonus = value,
tooltip: () => "The bonus to be added to the baseline bonus in the calculation for players with the Shepherd profession selling Barn Animals. Default : .4 (40%)"
);
configMenu.AddNumberOption(
mod: this.ModManifest,
name: () => "Coopmaster Value Bonus",
getValue: () => (float)Config.CoopmasterValueBonus,
setValue: value => Config.CoopmasterValueBonus = value,
tooltip: () => "The bonus to be added to the baseline bonus in the calculation for players with the Coopmaster profession selling Coop Animals. Default : .4 (40%)"
);
}
}```
wait, do quickquestions require 3 answer options?
!json can you send your event 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! but do you know if quickquestions in events require three answer options?
@twin wadi You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!
No
okay thanks
i ask for your json because discord is weird about displaying backslashes and your event code up there looks wrong but it may be discord formatting
(use the json uploader linked in the governor command)
ohh ok
Dunno if I'm using the right words, but how does one do a harmony patch for another mod? Is it possible to just harmony the namespace + class as a string for the type?
harmony's AccessTools can search for types by name alone, but if you've got a namespace or a fully qualified ID and you know for sure the mod is loaded, it'll find it just fine
https://pastebin.com/ is a godsend
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
it'll probably still find it by name alone if the type name is unique enough but a fully qualified name is better ofc
from there its harmony patching as normal
smapi's json uploader is far more ideal in this context
sorry
Does that mean I would have to use the harmony api instead of annotations if I want to check that the other mod exists first?
that's true.. my brain is jello rn
as far as i know, yes
unless your mod sets a hard dependency on the other mod
bc then you'll know its loaded before yours
But NPC Creator finally got moving... now I just gotta implement some more stuff to the chardata... exciting times ahead
(here's an example where i harmony patch 3 different mods if you want it)
@brittle pasture what's your name on nexus?? im about to upload the recipe mod in a bit and i wanna credit you!
the name you have to type in gets a bit weird sometimes depending on how they structure their mod
also also? when crediting is it ok to just input the name of the user who helped ya you know or their nexus username?
in the interest of testing it, what happens if you swap the order of the speak command and the friendship command? at a glance it doesn't look like your formatting is wrong
ill try that
also should i mention that the code was partially referenced from another mod?
is it ok to ever mention that???
Hello everyone,
I’m [reaper], a huge fan of Stardew Valley and Demon Slayer. I’d love help turning Shinobu Kochō into a fully functional NPC mod. I don’t have the skills to build a mod from scratch—what I have is:
- WeddingRoom_Attempt.png (112×128 px AI-generated room, might look distorted).
- Placeholder_Shinobu_Sprite.png (96×128 px static sprite sheet, all frames show her standing).
What I Need
-
Animated Sprite Sheet
- 96×128 px, 4×4 grid (32×32 per frame).
- 4 directions: Down, Left, Right, Up (idle + 2 walking frames).
- Transparent background, exact anime look (purple-green hair gradient, butterfly pin, Demon Slayer uniform; sword optional).
-
Heart Events & Wedding Room
- Heart progression (0→2, 3→5, 6→8, 10→marriage).
- “Butterfly training” event (optional).
- Include my wedding room design if possible.
-
Marriage Behavior (like any vanilla NPC spouse)
- After marriage, Shinobu should behave exactly like any NPC spouse: kiss the farmer, cook, sleep together, chat, etc.
- She should continue wearing her Demon Slayer uniform as a spouse.
-
Map & Social Tab
- Add her icon via NPCMapLocations so players can find her easily.
I’m happy to wait as long as needed or help test. Apologies for the rough assets. If anything isn’t possible, please let me know. Thank you so much! 🙏
— [reaper]
hey just a heads up that AI-generated mod content isn't allowed in this server
hiiii i wanted to ask how movie concession tags work? i found a concession tag spreadsheet here and it says apple slices are tagged as both healthy and sweet. an npc im looking at likes the sweet tag and dislikes the healthy tag. so will the npc like apple slices or dislike them?
!startmodding
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually it’s easier to start with making content packs, since you don't need to learn programming.
!npc AI generated anything is not allowed in this server
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!
if you cant build it yourself, its almost a zero chance that someones gonna do it for you. see button’s ping
i think the NPC will slightly enjoy it based on this page
is it better to reference code? is it fine to borrow code??
like especially for a content patcher mod or a similar mod to make sure it functions?
with Content Patcher theres only so many ways to write specific kinds of edits, so it can be a bit muddy
but if you're copying jsons wholesale you'd want to look at their permissions
to be on the safe side
^
Very bad skills that's why you'll see problems and strange things. I'm busy now, excuse me.
🥲
please do this.. I'm the one who deals with the matter D:
like, no one can lay claim to an EditData patch adding a character
good bay
but if you take an NPC mod and just change the names around, thats no good
honestly only time i copied code was for a portrait to function right
basic cp patches are pretty standard but once you start tokening its like ehhh
I don't mind people copying my CP stuff.. so long as they don't steal the music/art
@rare orbit back 😂 yes you can
i have nexusmods
and all need for npc
but ineed sprite sheet and Portraits
maokai, if you're looking for someone to make an NPC mod for you, you can commission a mod author/artists to create it for you, or you can put your mod idea in the github repo, but it's not likely to be made for you for free
!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
has Platonymous put his stuff up for open permission?
sorry if there is typoes... i can't see.. cat in the way
no(t really)
nope
You don't have money
😐
Last time I checked (few days ago) it's still "with permission"
i dont
i think with content patcher theres just a limit to how unique code can be so the biggest thing is creativity and the content
all of Platonymous's mods are GPL licensed
but they have GPL license
the nexus permissions are nother thing
so you can legally use their code if you follow the license. cant put it on nexus though
not all the time.. Nexus recognizes licenses
(i realize who im explaining it to i just am saying it for others)
@twin wadi no ineef sprite sheet to work i try
?
i need
i know.. i'm just supplementing as your Nexus Moderator x3
it was always my understanding that if nexus permissions were more restrictive than the repo, the nexus permissions apply if the mod author wants them to? is that incorrect?
speaking specifically about uploading to Nexus, not redistributing anywhere else
As I understand it, within the confines of Nexus, yes.
and i presume if the mod author is unable to be contacted to ask if thats what they want then... yknow
Nexus permissions handle Nexus stuff, but beyond that is the world of licenses


The worst one is when the perms are "Ask for permission" but the author is fully MIA 
that is when you go “i am going to create a likeness in the image of the original”
and then u hit em with the “inspired by x”
LMFAO
I can’t tell if that’s serious or not…
if its an artistic asset then that can still be theft depending on how closely you copy it
is drawing something in your style theft
it can be
like… drawing a tree branch???
as with anything lawyerly: 1) i am not one 2) it depends
The limit of my art skills is 25% inspired 75% frankesteined original 
Can you steal vibes
hypothetical: sakura ui, right. its got trees in there. if i also drew trees (not exact replicas, but similar design motifs to make my own sakura interface), thats not theft
you can draw Princess Peach in your art style, or someone that looks 99% like Princess Peach, but im pretty sure Nintendo still wont be happy
thats genuinely “inspired by”, no?
if you try to claim its your character
i wouldnt call that theft, no. but see above about me not being a lawyer and also the "it depends" part
well that was what i meant by “create something in its image”
just warning that remaking things yourself is not always safe from legal trouble
if someon designed a very particular sakura tree and you designed one just like it, then it gets muddier
see: Bungie in court right now for someone claiming they copied their story ideas and inspiration from their concept art
i think if you just do it maliciously and copy like, pixel by and pixel, thats 100% theft... but i dont think you can really steal vibes or style as long as it's your own skill and theres at least a few aspects where its unique
There's no "inspired" in nintendo dictionary 
yeah its just your own take on a thing
basically nintendo will destroy you
(i explained clearer what i meant)
and ya bloodline
all im saying is that sometimes the concept of the "thing" in question has legal protection
blargh.. Platonymous doesn't have a discord anymore apparently
not simply the interpretation of the thing
please let tmxl die 😭
Let it rest in peace pls
btw? this you? need to know for adding credits
https://next.nexusmods.com/profile/atelier99/mods
<.< I have to go through some tape for that one..
yes thats mine. but what am i being credited for? whatd i do? lol
you helped with the color theory and feedback
When I saw it came back on a different mod page with German description so people can't nit pick on AI generate text I was like "Wow..."
lmao it was still ai genned german
Oh I'm sure 
it was the exact same text just translated bc all the formatting was the same
i give credit especially when helped directly
As if the actual content of the text gave the AI gen vibe...
omg u dont need to credit people for that sorta thing, u can always mention them as a thank you in the credits section though
awww
wait i just described crediting twice
i still do cause tbh?? that mod would not exist without yall's help
This is not your day lani lol
ignore me. thank you nikki lmao
np!
i am fumbling left and right
if it helps you can think of it not as fumbling but as inspiring conversation
next im gonna say something that sounds so horrible without knowing
i am sad when people do not like my actions, so i must remedy it immediately 💔
I always credit "people on SDV modding discord", cause it'd be way too long of a section if I listed all of ya separately for feedback 
LOL
My approach is, if you know, you know 
is Governor active in this discord? i'd like to credit him on my mod page for some helpful links he sent me a while ago
I think that's fine especially if there's not one or two people in pariticulat who helped a lot
so true!
What's the governor's nexus profile
yknow blueberry, i never forgot about those mushroom cows you helped me recolor. one day ill make that mod lmao
they are sitting quietly in my Stardew Stuff folder
honestly the mushroom cows come to mind every so often lol. those and the strawberry milk cows someone made
nexus dot com/dagovernor46
beloved colourful moos
shroomie moos…. good times…
wait that reminds me. you had some crazy japanese style building art posted here once, what was it for?
did you ever do anything with it?
ah well see i just got back from japan last month for a little field research lol
but it's been on and off since like 2019. at this point it's just a cathartic hobby
ahhh i see 🤭
work and life have really been picking up lately too so i'm out of time to play around with it, but it's not out of mind
Ngl I'd love to see a new JP styled buildings 
sdv just has too many possibilities these days. i'd like to give it unlockable buildings, cabins, furniture, maybe animals, the list just never ends
i just love buildings 🙏
imma reward myself for my hard work today
building art is so hard though 
says the one who did crazy well on their first attempt
weeeelll i did reference vanilla stuff pretty heavily
its not hard, but making the building not look boring/traditional is hard
as we all do. gotta start somewhere!
its good to reference anyways, i thought it would easily fit into vanilla
What are you rewarding yourself with?
yeah i want more creative building shapes but its hard not to stick to recoloring and frankensteining vanilla
true!
playing sims until my brain rots x3
for my npc’s house i stole colors from … actually just pierre’s shop LMFAO
Mushroom cows....
would they make mushroom milk? 
mushroom soup clearly. minecraft logic
enjoy
loll
so many really beautiful inspirational places tucked away here and there. 4000 photos and nothin but temples ⛩️
woww thats beautiful
one of these days i'll actually sprite a ginkgo tree and i'll probably die trying
Trees anywhere: 
Trees in Japan: 
4000 is actually impressive

i took a lot of photos of interesting rocks. and wood. and paving tiles. and rooftops. and eaves. and dirt floors
research trip 📝
All valid subjects for photos
last & final snap that i'll definitely 100% end up using to draw straw and pen paper
sorry im replying so late (i got distracted) but when i switched it, the error was gone, but the event just froze.
I'll use it stare at the foliage
that legit looks like a painting
i wish i took pictures on my visit to japan back in 2005
Hate to drag this back. But, can anybody help me figure out what I've done wrong?
there's always next time ✨
you got somewhere to view your code?
I've linked the message with the code
Thats essentially all of it. Beyond the copied GMCM API file which shouldn't be the source of the problem
are you 100% certain you're launching the game with the correct mod profile Silver and the version in your mods folder is the most up to date compile?
you aren't registering your OnGameLaunched listener
that shouldnt matter re: not even creating a config.json since its in the entry, though
.... 
i scrolled back down and someone already said it xD
oh did i miss it
don't you also need to call Helper.WriteConfig()?
reading a config that doesnt exist is supposed to create one
with the default values
you arent required to write to it in your code
ah i see, you're right
(that said ofc you'll still want to register your GameLaunched event, but you are supposed to have a config already regardless)
Yes. but i'll rebuild and double check. (unfortunatly i don't have a clean test profile, it just gets shoved in with everything else i use normally)
(it's very very simple to setup a minimal mod group, worth doing yourself to save time and effort)
!modgroups
See this link for how to load different mod groups: https://stardewvalleywiki.com/Modding:Player_Guide/Getting_Started#Can_I_have_different_mod_groups.3F
i resolved this! i was missing an end quote for a dialogue
unfortunately. i exclusively run everything through vortex. it regardless would be a 10+ minute endevour to test a mod anyway. no time is 'saved' imo
!vortex
Vortex isn't recommended for Stardew Valley.
It's hard to troubleshoot and often causes issues like SMAPI/mods not being installed or updated correctly, files mysteriously disappearing, crashes, etc. Volunteers here often can't help with Vortex issues.
Some options:
- Install mods directly (which is easy and safe in Stardew Valley!).
- Or use Stardrop, a mod manager specifically designed for Stardew Valley.
- Or get help with Vortex in the Nexus Discord or Vortex support forums.
(See also the Nexus App feedback thread, if you want to help Nexus avoid the same issues in their upcoming replacement for Vortex.)
SDV is easy to manually mod
and even have mod profiles natively through SMAPI arguments
a lot of time & effort savings are really there for cutting costs on my 'how much do i care' budget
like it's only 5 seconds on the load time but i feel fresh testing the mod u know
developer.
it's all about comfort when it comes to coding/modding
I too made a deploy script
All the content packs I have are automatically copied to the current active mod folder on commit.
It's fun and pointless and also copies my [documentation folder](#making-mods-general message)
honestly ive just accepted that modmanager issues are a thing im on my own for(there's no way im switching to Stardrop and moving the 200+ mod monstrosity i run to something new).
also seems i was incorrect about the config file not being created. it is just not where i was expecting it to.
just means figuring out events. since the documentation is. unhelpful at best for somebody who doesn't know what their looking at
where did you expect the config to go, bc if its not where you expected, that might literally be as a result of vorttex
drop the vortex stuff. it went into the SDV mods folder copy of the mods folder, not the easily accessed staging copy
in short im an idiot.
honestly you'll have an easier time just skipping mod managers altogether while making your own content
leads to a better understanding, simpler workflow, and easier troubleshooting
i appreciate the concern. but not happening
Was back reading, and curse forge has been on an other game spree, particularly for being first party mod providers where games like Hogwarts legacy have an ingame mod browser that's powered by curseforge under the hood, and inzoi's planning on using a similar arrangement.
Oh the reply didn't reply, rip
Regardless sorry for the big waste of time(my mistakes wasting my time is fine, you great people not so much). need to figure out how event listeners work.
I use stardrop as a user, and run mods direct for development, and as stardrop keeps the mods in the mods folder, running direct runs all the stardrop mods too
Sin i have just now realised your threads are also alliterations lol
Thank you so much to anyone who can work this miracle and make my dream come true by creating this mod. If you succeed, please upload it to Nexus Mods so others can enjoy it too.
I apologize for not being able to provide all the details—my English is poor, and I have no modding skills or experience. My only wish is to see Shinobu in Stardew Valley and be able to marry her. I know it sounds silly 😂 but that’s what I really want.
Please send the finished mod to me via DM. I’m willing to wait as long as it takes.
Thank you for tolerating my bad English and delayed responses 😂❤️
good bay ❤️
!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
Yeah... I'm pretty confident in saying no one will make an NPC mod of all things for someone else for free...
yeah npc making especially a marriageable one is really time consuming
this should not have been this difficult. but its working now. i guess. hardcoded config strings are pretty standard right?
you should i18n them

ummm i havent started i18n stuff yet, will it be harder to do all of it later? im tinkering with dialogue a lot so ive been putting it off for later
@whole raptor vere sad but np I am waiting and i hop
Yes do noy make urself do it later its hell
(Not sure if you found it already, but event handlers are explained on the events doc page; let me know if those docs are unclear.)
uh oh as a chronic procrastinator...
I did infact figure it out.
Was on the page the GMCM page points you to for events. I just missed it.
There's also always the choice of. Just not supporting translation.
Honestly not even sure the text I've used is particularly clear what the config numbers do. Given the way the calculation works
lol unfortunately my parents need translation since they dont dpeak english and im half making my mod for them
Ah fair enough. Valid ^^
wait that’s so cute
Wonder if I should include in the tuning header tooltip that the modifiers here are added to animal friendship / 1000 to determine the sell price multiplier.
haha i got them into sdv
btw? if others want to use my item mod along this mod? can they use {{ModId}}_pastelillos_de_guayaba for the object id name or no?
https://www.nexusmods.com/stardewvalley/mods/24517
can custom items be added?
They'd have to reference it using your full mod ID as listed in the manifest (which is what the brackets method is reading anyway)
But otherwise yes.
Yeah, so instead of {{ModId}}_pastelillos_de_guayaba, another mod author would write [your mod's actual unique ID]_pastelillos_de_guayaba
once you have published your mod, no
ideally no but why
I mean, you can, but then SMAPI won't know which mod it is to look for updates
no it goes by update key so its fine
so like this:
Blossom5280.Feliz_Cumpleanos_pastelillos_de_guayaba
Or
Feliz_Cumpleanos_pastelillos_de_guayaba
for the item id i mean
oh, right, sorry... actually so other mods can reference yours
it's better practice to use your mod id in the name to be sure that it's unique among all mods - plus you get better Lookup Anything support
players won't see your internal names unless they also go dig in the code
it might just be me tho
you can just hover your mouse over an item or NPC or whatever and press F1
(that's the basic functionality, anyway)
now they will 
oh, true, I did see that in the update notes for LA
should i18n dialogue keys be unique from other mods? so like should i use {{ModId}} in the key name?
shoutout to the fellas last night who asked me why i was even loading assets from C# when I already had a content patcher component for the mod. that is exactly what the issue was and it wasnt until someone asked that i stopped to ask myself the same question. removing that asset load worked 😭 God I feel like an idiot every day I work on mods bro
pretty sure no as I re-use the same i18n keys all the time and have never had an issue arise from it
oh okay i guess i18n keys are just local?
i18n keys area local, yes
thank you!
i18n are a kind of localized token
it's often helpful to have some kind of indicator of which mod added it in case a player comes across a "no translation" line when they're playing in case it isn't obvious, but that's for debugging and error reporting rather than functionality
Any reason why my custom NPC schedules are running fine on my game but not my friend's? They're testing my mod for me.
One of you has Spacecore and the other doesn't (?)
... i don't get it. the example you sent doesn't have any obvious sign of needing to do anything to make this translation stuff work. sorry to waste more of your time.
I don't have spacecore but they do, so I've already removed it for them and the schedules still aren't working. All my NPCs are stuck in bed lol
did they sleep a day or start a new save
Nope
well they have to do one of those
See the translation API for how to read translations with only SMAPI. That code is from the separate mod translation class builder, which wraps the base API with strongly-typed methods.
Ok thanks, will try that now. Does that mean Lilybrook isn't compatible with spacecore?
somebody reset the "N days since newly-added NPCs were stuck in bed" counter back to 0 /lh
How am I just now learning about this lol
no, it's just how the game works. when you add new NPCs to an existing save they don't follow schedules on the first day you load in, since some of the NPC's schedule stuff is decided when you go to sleep
Anytime an NPC is added mid save their schedules don't work until the next day after they were added, it has nothing to do with your mod
or it's not initialized correctly in the morning, or something like that i forget exactly
Oh I can stop worrying then haha, thanks both c:
I can't get events to trigger inside AdventureGuild . I've checked whereami to make sure I have the map name correctly, and the events spawn when I have SVE installed. But when I only have base game, they don't register as events at all. I'm not getting any smapi errors
there is no vanilla asset for Data/Events/AdventureGuild, so you have to Load it. use a non-exclusive priority to avoid breaking stuff
it is so immensely helpful and I now use it constantly
Ooh. Ty!
ah. i see. was in fact missing critical dependancy to make it work.
to explain further: if you set an EditData on an asset, but it doesn't already exist and nothing ever Loads it, your patch will not be applied (it must be loaded first).
you should also Load it with a blank json (just {}), then apply your edits with EditData as you were already doing
(there are other mods that add events there, so doing a non-exclusive Load and also an EditData allows you to coexist with them)

translation functionality works i guess. apparently = gets replaced with stars tho...
mr ape wingdings
yea i linked my thing as a example of using mod translation class builder, as mentioned
is all good. i honestly had no idea what that part meant when you said so.
Is there a way in a content patcher mod to detect when the farmer is in their swimsuit? A token or something? I want to set a certain farmer portrait to automatically appear when the game has switched the farmer into their swimsuit.
you could use BETAS for it. combination SwimmingChanged trigger + mail flag + PatchUpdate action
i saw in a modding wiki article that you can do something like "{{i18n:JortsCat.rain.{{Random: {{Range: 1,5}} }} }}" to randomize i18n lines. does this still work if my keys have numbers with zero's in front? like .001
Thanks! That's useful!
Just leaves deciding if making the value animal friendship is divided by configurable is actually worth doing. Goal is admittedly not first to make the calc configurable but to add extra sell value factors. I've just made the bonus factors configurable.
I think so - the token is just a string so you just set whatever random values you want (but I am not a CP modder)
see https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md#randomization
ill take a look!
question: if one makes a custom portrait for an npc how do you call for it using CP in dialogue and stuff?
but i dont think itll work because im randomizing with range, not strings
check the examples and the docs because I suspect the Random token is versatile enough for what you're doing if I understand your use correctly
oh yeah i could just list the numbers
thanks!
that's less simple than the range but it's simple enough 🙂
If it's an extra portrait on the existing sheet, by using its index in dialogue. E.g., "Thanks for thinking of me.$9"
i dont believe you can pad the numbers, so ones with 0s in the front will only work up to 9
i.e. if you do {{Range: 1, 12}} then it might end up loading JortsCat.rain.0012 and not 012
Do I just tack it on to the OG sheet or? It's one I took and then edited and I want the original I borrowed to work, but also the new one (if that made sense)
It depends if it's meant to be an additional emotion/situation portrait (add to existing sheet) or a new outfit (in which case you'd have a new sheet that contains all the emotions from the first sheet in the new outfit).
@vernal crest it's meant to be an additional emotion, his outfit is the same
Then it goes on the same sheet
okay I'll give that a try thank you!
I've been reading your documentation and some wiki pages, but I've never done anything with mail flags before and I'm rather confused. I tried to figure it out, but I don't actually understand what you are recommending I do by using a mail flag with that trigger and action.
you use the SwimmingChanged trigger action to set a mail flag, which is just using the vanilla AddMail action but with a flag id you made up (it doesnt need to actually exist in Data/mail). this is what the game does to track a lot of variables behind the scenes, by checking whether the player has received specific mails that may or may not have actual letters that go with them
you check for that mail flag with content patcher's HasFlag token for your patch that will change your stuff to use the swimming portraits/outfit
you need the PatchUpdate action bc otherwise Content Patcher won't update your tokens and patches until TimeChanged at the earliest, which may not be early enough for you
you would also then check for the same SwimmingChanged trigger but check if they arent swimming anymore, and if not, remove the mail flag
and then PatchUpdate again
Thank you for such a detailed explanation! Ah, and the bit you just added answers the question I was about to ask!

ugh this is random but why are pufferfish emojis so cute?? who came up with them??
sorry that was off topic just popped into my head
im not sure if one specific person came up with the original idea (someone who's been here longer than me may know the lore), but the individual puffers have been suggested/made over the years by many different people 
This is driving me nuts. I can't get AdventureGuild to load, and I can't get the xnb to tmx unpackers to work.
!unpack did you follow these instructions
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!
Yes. I unzipped StardewXnbHack but it doens't have an .exe in it for my to click nor cmd run
Gonna try again. I think I've just frustrated myself
Ok so it's all on the same sheet. Do I use "Action" "Load" to actually plug it in?
is it a custom NPC that you created? if so, use load. if not, use edit
nope it's regular, for Shane :3 okie cool thanks
You can use Load if it's for a vanilla NPC and it's intended to not be used with other portrait mods too
that's true
you need one patch that looks like this:
{
"Target": "Data/Events/AdventureGuild",
"Action": "Load",
"FromFile": "assets/blank.json",
"Priority": "Low"
}```
(where `blank.json` is a file containing just `{}`)
and then another patch where you do EditData on that same target to actually add your events
two other important tools for debugging your CP packs are patch summary and patch export to see what the state of things is so you can compare with your expectations
I had that first chunk in my content.json, and then a blank json that it referenced. Then, I had my events target AdventureGuild but no dice. I know I'm doing something incorrectly.
i feel like atra is bullying me
fight 'em
no im supposed to respect my elders
when in doubt just search nuget for xml and you'll probably find something to make it easy
moving dialogue lines to i18n is so tedious
im glad i started now at least
imagine if i did it all in the end...

dude samne
IT'S ALIIIIIIIVE
I only aged 47 years
like, I can't seem to script events without i18n and then have to go back and add it
!i18n there is a converter that may be helpful (I have no experience with it)
So you'd like to stop writing all of \"your strings straight in your content.json?\" and/or you'd like the capability to see all of your strings across all of your .jsons?
Introducing i18n!
-
How to make your mod compatible with other languages: stardewmodding.wiki.gg
-
The file where you can put all of your strings is called default.json, and it sits in a folder at the same level of your assets, named "i18n".
-
If you're converting from an older version of the game, there's a converter for ease-of-access.
Not to be confused with
{{DynamicTokens}}since these require the specific{{i18n:<KEY>}}modifier
also, I have my assets png in the right place, and my load stuff in the content.json but when i try to call for the portrait in dialogue nothing happens
what did u do
XmlSerializer ser = new(asset.GetType(), AppDomain.CurrentDomain.GetAssemblies().SelectMany(s => s.GetTypes()).ToArray());
StringWriter strWriter = new();
ser.Serialize(strWriter, asset);
return strWriter.ToString();
i tried to tell XmlSerializer about all the types
ah, I understand everything now <---- (has no idea what you're trying to do)
ur pfp is how i feel rn just .____.
Are you counting from zero for the portrait index? For Shane, yours needs to be 11 at a minimum to not overwrite any vanilla emotions.
To check that your json is working properly to load the new image, do patch export Portraits/Shane
Is using Vanilla. Maybe if I do Portraits_Shane?
There is no Portraits_Shane. That's just how it gets labelled when you export it. Can you show your json for loading your portrait?
oh haha yeah sure
{ "Action": "Load", "Target": "CacklingCaracal.TheWolf/Assets", "FromFile": "Assets/Shane.png" }
ugh... duh T.T lol
u see im allocating 10min before i eep to get stardewxnbhack to serialize to xml
so i can look at it 
alas i didnt find a simple solution
We have a success!\
how does one hack "blue chicken hatch chance"?
mostly it doesnt like this
Data/SecretNotes.ja-JP.xnb => unhandled export error: The type System.Collections.Generic.Dictionary`2[[System.Int32, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]] is not supported because it implements IDictionary.
I am so desperately trying to make a trinket that at level 1 gives a 15% and at level 2 gives a 25% boosted chance to hatch a blue chick but would that be something that hooks into the player or does that need to somehow attatch to the incubator?
literally beat my head against my kitchen counter earlier
I thought it would be a cute idea for this Shane mod I"m making, where when you start dating him he gives you an adorable lil trinket
well its kind of strange to have such a thing be a trinket cus you can unequip it
i feel like you want a power
on the other hand if you want a blue attacc chicken u can do that
hm, yannow that's an idea... change it so he gifts you an egg that turns into a little buddy?
take a look at me framework docs
the issue with hatch is just that im pretty sure egg items and farm animal are 1 to 1
you would prob want the power to do something like
sometimes, a white or brown chicken can lay a blue egg
maybe I was going about this wrong - maybe instead of breaking my brain to figure out the thing I want, maybe reevaluate the thing I want. Okay cool, thank you! I do already have some really cute plushies he gives you, maybe I could also have eggs that hatch with chicks that do stuff
and u can hatch that blue egg
trinket blue chicken buddy is standard usecase for trinket tinker so u can do that too if you want 
I have blue, pink, and watermelon colored chickens, could translate those to chicks easy enough :3
omg my head already hurts way less ty
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
i hate it i think
but i do feel an understanding of y so many string assets
(The original XML is a bit simpler, and it omits the tags that just set the default value.)
hii!! I dont make mods and never have but really want to learn!! (im on Mac OS).. I got told somewhere its with json?? how do I use that.. better yet how do i learn how to mod SDV?? ^-^
!startmodding
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually it’s easier to start with making content packs, since you don't need to learn programming.
THANKSSS ❤️
follow the tutorial link for Content Patcher above, and you can get started making something simple like a retexture
okay !! ^^
(I'll go sleep now, but feel free to ask questions and others can answer)
(https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide.md will be the primary reference for how CP works, while https://stardewvalleywiki.com/Modding:Index shows you what game data is like)
Hello guys, i'm new here.
I've made a mods about Crypto Trading Sim for the farmer of stardew valley, it only uses gold from Stardew Valley and no "REAL MONEY" used at all.
But yesterday i tried to upload it to nexusmods but then my account got banned and the mod was removed, the reason says :
"Upload of a crypto scam mod. - User submitted content may not be used to advertise other websites or services and may be removed at the discretion of staff"
This is the announcement link: https://forums.nexusmods.com/topic/13516743-arizoenna-banned/
I don't think this is crypto scam mod, it's just ordinary crypto trading simulator and its a mod for the game but for the advertise other websites, maybe i was to explicitely says i'm using Binance API!
My tendencies is not to advertise their website, it's just crediting whom API i was using..
What do you guys think? also I have contacted the support to request un-ban because I think it was just misunderstanding.
And also, i provide the mods below incase you guys wanna try it!
Thank you..
Account Banned - arizoenna arizoenna has been banned from Nexus Mods for violating our community rules. Reason Upload of a crypto scam mod. - User submitted content may not be used to advertise other websites or services and may be removed at the discretion of staff Reference Below are links to w...
To use: Press INS to open the Menu,
You can input custom crypto currency too like others with this format "XLMUSDT" "BCHUSDT" and etc...
It is working on the latest version of the game and SMAPI.
Please provide the feedback if you have time, thank you..
You also use the names of real life coins which could be considered advertising them
Ohh, maybe that was the point, i didnt know about that because I think everyone on the internet knows about cryptocurrency..
Maybe i'm just gonna refactor the whole code
(banning the account does seem harsh though since its not actually a scam mod... so id still get in contact with them, dont want to make another account/reupload it just to get even more banned for ban evading or something)
That's what i think, they could have given me a formal warning first about that and i could've easily revise my mod.
That is the first time i upload a mod to that site ☠️ , been years on that site but i've only downloading mods but no contribution
If I had to guess I'd agree that it's probably the combination of using real coin/exchange names and a bit of a reflex reaction to it. Definitely get in contact with them, I'd say!
And very much offer to use obviously fake coin names instead.
i did see it appear yesterday and then disappear and wondered if something like that had happened
I think some important context is that nexus have been having a malware problem these past few months, so I'm not surprised they're quick on the trigger, even if I think your account probably didn't deserve a ban for this. Just fyi though, they dislike the use of any internet APIs in mods unless you communicate with them first, apparently
Yeah try maybe not using any connection whatsoever to any real life crypto and contact them
is the source open? ngl I'm not installing anything like this without seeing source haha (and it does seem like it would be in the spirit of crypto to open source it, don't you think?
)
Thank you all for the help, i'd definitely try adding more details on my supports ticket.
For now maybe i'm gonna put the mod in this site (i choose this site because it's easy to post):
https://buymeacoffee.com/arizoenna/crypto-trader-1-0-0
About the opensource (as in public), maybe yes if i'm thinking of abandoning the maintenance of the mods.
BUT, i'm open to DM if anyone interested.
Thank you, once again.
So I just dug a little, and I have a pretty good guess as to why Nexus so quickly kicked this off the platform.
using System;
using System.Collections.Generic;
using System.Net.Http;
using CryptoTrader.Models;
using StardewModdingAPI;
public ApiService(IMonitor monitor)
{
TradingSymbols = new List<string> { "BTCUSDT", "ETHUSDT", "ADAUSDT", "DOTUSDT", "XLMUSDT", "LINKUSDT", "LTCUSDT", "BCHUSDT", "XRPUSDT", "BNBUSDT" };
_cryptoApis = new(string, string, Func<string, string, CryptoPrice>)[3]
{
("Binance", "https://api.binance.com/api/v3/ticker/price?symbol=", ParseBinanceResponse),
("CryptoCompare", "https://min-api.cryptocompare.com/data/price?fsym={CRYPTO}&tsyms=USDT", ParseCryptoCompareResponse),
("CoinGecko", "https://api.coingecko.com/api/v3/simple/price?ids={CRYPTO_ID}&vs_currencies=usd", ParseCoinGeckoResponse)
};
_bitcoinApis = new(string, string, Func<string, decimal?>)[5]
{
("Binance", "https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT", ParseBinanceBitcoinResponse),
("CryptoCompare", "https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=USD", ParseCryptoCompareBitcoinResponse),
("CoinGecko", "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd", ParseCoinGeckoBitcoinResponse),
("BitcoinAverage", "https://apiv2.bitcoinaverage.com/indices/global/ticker/BTCUSD", ParseBitcoinAverageResponse),
("CoinDesk", "https://api.coindesk.com/v1/bpi/currentprice.json", ParseCoinDeskResponse)
};
LastUsedApiName = "None";
base..ctor();
_monitor = monitor;
_httpClient = new HttpClient();
_httpClient.Timeout = TimeSpan.FromSeconds(10.0);
_httpClient.DefaultRequestHeaders.Add("User-Agent", "StardewValley-CryptoTrader/2.0");
}
Using so many crypto exchange APIs is virtually guaranteed to be what spooked them. Let alone the fact that they don't allow network connections.
Unless you got specific permission from them for network access, they do not like that. You need explicit permission from them to do so. So that combined with using real crypto exchange APIs... I'd be stunned if it wasn't that.
https://help.nexusmods.com/article/28-file-submission-guidelines
Files (especially executables) that connect to the internet to download or send information and/or files are prohibited unless where it is crucial for the functioning of the mod/utility. Please note that "auto update" functionality does not qualify as crucial and that we reserve the right to moderate and/or remove any files/tools/utilities/mods that communicate with the internet. If your tool's/app's functionality depends on the ability to send and receive information/files, please contact staff or send an email to support@nexusmods.com laying out your reasoning and providing the source code for your tool/app.
Those do clearly just seem to be the ticker APIs to get public pricing and nothing else, but the network access + crypto APIs was probably the problem.
Yes, i'm using many Ticker APIs for a fallback incase the Binance Failed,
And about the rules, I think it has an exception "Where it is crucial for the functioning of the mod/utility"
That's very interesting insight, thank you!
Also probably this
There is that exception, but when it's something that's such an absurdly common scam target and accesses real APIs... almost certainly the source of the rushed removal, even if it might be fine with a deeper look.
Ohhh, my descriptions says "trade real crypto..." 😭
That would also probably not help. 
Yup
also the exception isnt automatically granted, you still have to ask permission
open and public source are different and I would recommend opening something like this in advance (isn't one of the main draws of crypto transparency, anyway?)
I thought the draw of crypto was pump and dumps
~~I'm trying to be nice here
~~
Hello me have a question!
is multi save confusing the smapi backup folder for anybody else?
so when i booped my laptop to IT. i lost the local copies of my saves. I though oh that's fine. steam will save it with it's cloud thingy.
for some reason steam didn't so i go into my smapi backups folder and it has stuff from spring 24 as it's latest save day even tho i was in winter.
would me suspecting multi save to be a accurate guess?
https://www.nexusmods.com/stardewvalley/mods/22953
the mod for reference.
somehow after multi save finishes doing it's own backups. smapi decides it doesn't need to delete and replace it with a newer backup of the saves.
but becuase those backups are put inside of the save backup...it sort of just gets stuck.
I think this is a #1272025932932055121 question, ben
Rolls in that direction slowly. perhaps reaching there in a few hours or days.
i thought i would ask in here first since it appears to be a multi save problem so i thought i would ask whether that would be a accurate guess.
plus i don't really see me being able to resolve the issue for me personally.
My advice is to use fake crypto-currencies (with the opportunity to give them funny SV related names) with RNG based price changes. A good example of this would be the trading mini-game in cookie-clicker.
Also about open-sourcing: it's strongly advised here not for other people to contribute, but for other people to see what's inside your mod to either fix compatibility issues (anyone who has a compat issue with your mod will be forever thankful if it's open-source), or simply see more easily that there's no malicious code in it.
I'm taking note on this, maybe fake crypto is "to-go", or maybe i'll release 2 version of my mods.
About the open-sourcing, how do I share it? do i need to provide my git hub project link to public ?
Sorry it's my first time here so i dont know much about open sourcing
Thank you for the insight !
helloo, i'm not sure if this supposed to go in this channel or the one next door but anyway... does anyone know the order of farmer's sprite layering? as in body > pants > shirt > arms/sleeves > hair > accessory > hat?
You provide the source under an open source license on any code hosting platform (gitlab, gitea, forgejo instance, codeberg, github, selfhosted git/mercurial), but github is the most popular
open-sourcing your mod is simply a matter of having the github (or any other host) repository set to public (the default, I think). It's common to put a link to the source (repo) everywhere you publish your mod (like in the Nexus description), but that's not really a requirement, it just makes it easier for yourself and other people to benefit from it being open-source.
yeah, forgot the license thing
I should probably take care of that on my projects too...
If u don't link it on the mod desc then u should open a PR to the mod compatibility so u can add it
The git host you pick is unimportant
Hey guys. I'm trying to make an animated, seasonal furniture FF mod for personal use, but the animation isn't working for some reason. The seasonal aspect works fine, but the animations don't show. Does anyone know what's wrong with the code? Here's my zip:
I tried to follow the templates for FF on github, but nothing works so far
I'm taking a look
It's "Offset" instead of "Animation Offset". It used to be that before 3.0 but the word "Animation" is redundant now.
no problem!
Or be a rebel and use Mercurial instead.
And here I was thinking I was rebellious for considering Codeberg
nah I'm using tfvc or svn
Hello, I've now push my projects on the github as open-source:
https://github.com/arizonaadipradana/SV-Crypto-Trader
and maybe it's a little off-topic but I just wanted to let you know that i'm implementing the same mod for RimWorld,
If this message really is out of topic please let me know
Thank you all for the support.
it is off topic for here but i think we have a gaming channel somewhere...
(i definitely want to know more as i am a rimworld player who checks the steam workshop daily)
What's the license? In its current state its not open source, just source available
now i've added it, it's MIT :D
finally, some reply..
for the number 3. does it mean i still have a chance to publish my mod ?
Well you have to follow 1 and 2
Yes, if you follow their rules and let them review the source before you publish, not after
Personally i think it would be fun to fake the stalk market parts yourself directly in the mod
I agree it would be an interesting idea to have your own
Rebrand it as ferngill futures or something so that you don't need external API whatsoever
Nexus is mostly concerned about the external internet access
actual economy mods with supply and demand economics would be fun
but a decoupled stock market from the rest of the game would just be a minigame
(This is why I want a futures market!)
says ex modder who won't be doing it
Also it won't be fun.
having reasons to not over optimize for a starfruit wine production would be nice
but its hard to make a fun gameplay loop that isn't just punishing you
The design principles of my theoretical won't work on it for five+ years futures mod is "is it realistic? It's going in."
Hi everyone, is it possible to add an effect in an event that reduces the player's stamina?
Maybeeee with spacecore or betas
considering the amount of events that give alchahol poisoning and the enegry boost, should be possible to do the inverse
That's by forcing you to drink an item
I guess you could force the player to eat something poisonous
I just tried use fruit wine, and it did apply the dizziness effect. I also tried using sea cucumber, but my stamina wasn’t reduced.
If you pass out in an event do you pass out in real life
You can use this trigger actionhttps://stardew.button.gay/docs/betas/tractions#SetStamina
Yes, can confirm
Awesome
thanks again for the feature
Looking forward to seeing the modding stats tonight!
Or you know
Maybe pathos posted them while I was asleep
No pins still have last month
So I was wondering... If I want to do a major change of the data scheme for DDFC to be its own content pack framework instead of relying on aedenthorn's dictionary asset via CP, am I really continuing DDF anymore or is this its own mod? I've turned DDF into the ship of Theseus 
Hmmm i suppose dictionary asset isn't completely off the table, but it would at least need a complete rework; instead of using NPC names as keys to hold all dialogue changes for the given NPC, it should be a dictionary of patches with conditions to determine which NPC it'll apply to
you can do it like how game does dialogue if you want
i never looked at DDF code but lets say you have an asset typed Dictionary<string, DDFData> at aedenthorn.DDF/Data
you can opt for DDFData at aedenthorn.DDF/Data/Abigail for example
as for general rework, i don't think it's bad to just change your mod's unique id and rebrand completely
including the part where you also change where the new asset's targets are
then you can still load the original asset, but transform it into the new system in the back and no longer have any special code just for old system
whats DDFC?
It just feels a bit silly because a few authors started relying on DDF only after I continued it and added features and now I'd be abandoning it and those authors will have to rewrite their content packs to get bugfixes 
Dialogue Display Framework Continued
if u do this they only have to do a patch export yourNewAsset to convert
u can provide a console command to do it too
n format it in a cp way
I made some custom NPCs as backdrop for an event, and when I went to bed they were working. Arguably, it was also 2 am, and it may have slipped by. Now, they're showing up in town, stacked at 24,67.
https://smapi.io/json/none/6b4ca3b56f994547ac16deae69529f3d
I'm not sure what's going on. I removed every mod except the ones I need for the mod itself. If I remove them from characters.json, I have to sleep through the night to get them off my screen. When I reload it with them in the json, they reappear after sleeping
they are already on the patreon, not sure if pathos already posted them here or if he just was waiting for a quiet period and missed it
If those are for event only, you might want to consider addTemporaryActor instead.
When loading them into Data/Characters, the game will treat them as real NPCs, and since Temp is not a real map, they will be default spawned at the center of the Town.
thank you, I'll try it! My custom goose npc behaves. I'm not sure why these are suddenly not
How to send message in game chat
how would i sync up map patches?
like say i want a boat to be in a place at a certain day and i want the warp out of the boat to change too. but the patch is set to place the boat randomly
The |key mechanism in random
(Or a dynamic/local token)
button's url always kill me
btw @uncut viper, how would one get a hold on a domain name like this (asking for a friend)?
(Porkbun is quite a bit cheaper for the first year offer and renewal price it seems.)
How to send message in game chat?
Game1.chatBox.addMessage("...", new Color(255, 255, 255));
Can Modding only in .Net 6 ?
yes the game is on net 6 so you have to match
only need this though <TargetFramework>net6.0</TargetFramework>
your dotnet install can be any version above
And ideally should be to access newer language features!
i think i got CAD prices
unclear
gotta buy a funny domain and renew it with Nexus money. I think I'll give myself some time to think of what to put on it before buying it.
i havent found a usecase that github pages is not enough for 
most of the time i am just serving static webpage
Can use \n in string for chatBox?
i dunno, but if it doesnt work just call Game1.chatBox.addMessage twice
Depending on usecase should use the send message APIs or whatever it is instead so it networks correctly in multiplayer, which networks as a translation key these days
here we go again.. moving foward
Your npc mod is awesome, one day maybe I will finish my first npc with it XD
same, but I'd like to get rid of anything MS related at some point, so The Hub will go eventually.
I -think- I found the issue. One Drive
what was I just saying....
Somehow, it's duplicating my working folder into the mod folder, and FIIKW.
I finished converting my custom path to a CP item, anyone would be kind to test it? It's my first time 🥹
If you are against ms enough to ditch GitHub, working on c# projects is probably not the best plan
don't have much choice to mod SV, while I have the choice for where I host my repos
I'll be honest, ditching github isn't a priority yet, it's probably the least bad MS product/service imo
now to do some cleanup
yea ig my meaning is
i havent found anything more complicated than just static web page to host
I could make a FF content validator
isnt that what the schema is for
if use lib or package in mod it will auto pack in build process?
you need to do normal C# things to include it in build (or not)
depends on what exactly it is
Third party DLLs from nuget or otherwise need a separate project item iirc for modbuildconfig to ship it
I don't know what to do. The game is trying to load a file that isn't in my code. I've reinstalled my mods manually, and picked through the code to make sure I don't have an erroring NPC anywhere. Is there a cache somewhere that I'm missing?
"WinterStarGifts": [
"72",
"84",
"SeaJelly"
],``` does this look correct when creating NPCCharacter Data?
WinterStarGifts is item spawn fields
sooo ... yes?
my creation....
It can change my boat placement, for multiple locations with different conditions all in two patches
item queries is a particular kind of model that implements ISpawnItemData
looks like winter star gifts use GenericSpawnItemDataWithCondition specifically
I am unsure exactly what I need to change as there is a bunch... do I need the (O)?
Yeah, but like SMAPI's json validator because a significant portion of authors use raw notepad.
yea (O) makes it a qualified id
okay.. so thus i need to add (O)
this means u can let ppl give (BC)12 keg instead of (O)12 emerald
I pop in when business requires me.. but I am always reachable... so long as I'm not at work x3
was about to ask NPCs can gift you kegs right
That reminds me.. I need to update my tool to account for this
so I don't need too much effort in making them
carp wine
would weapons work even or would the game try to cast to Object and then explode
always
Sounds like a fun experience
Utility.getGiftFromNPC returns an Item
I wasn't sure if dming was allowed actually :0
dont see why u cant give a sord
but anyways coriel my recommendation for simplicity is to use RandomItemId
"WinterStarGifts": [
{
"Id": "Default_NPC_Creator",
"RandomItemId": [
"(O)72",
"(O)84",
"(O)SeaJelly"
]
},
]
using other fields is Fun but prob beyond scope of ur tool
My newest NPC, Swod McMoneyBags, gives a prismatic sword every day
So.. i need to change a few things in the NPCToolKit to accomodate this
i need to turn "Wild Horseradish": "16", to "Wild Horseradish": "(O)16",
public void ItemExtractor()
{
foreach (IItemDataDefinition itemType in ItemRegistry.ItemTypes)
{
foreach (string id in itemType.GetAllIds())
{
Item item = ItemRegistry.Create(itemType.Identifier + id);
if (item.canBeGivenAsGift())
{
try
{
ItemList.TryAdd(item.DisplayName, id);
}
catch (Exception ex)
{
Monitor.Log($"{ex.Message}\nSkipping {item.DisplayName}", LogLevel.Warn);
}
}
}
}
string path = Path.Combine(Environment.CurrentDirectory, "ExtractedData", "ItemList.json");
File.WriteAllText(path, JsonConvert.SerializeObject(ItemList, new JsonSerializerSettings { Formatting = Formatting.Indented, NullValueHandling = NullValueHandling.Ignore }));
Monitor.Log("ItemList saved!", LogLevel.Debug);
}
``` this is my current way of getting them
use ALL_ITEMS query then
<.< this is a bit different, I'm afraid
this is a console command designed to get the IDs for a list needed for NPC Creator to work properly
I see what you are doing here..
after the if (result.Item is not Item item) you can simply output item.QualifiedItemId
do w/e u want with that one
I need to be able to separate this into different jsons.. is that possible?
like u want (F) to be in different json than (O)?
yes.. it helps when making menus and lists
besides just doing it against the item.QualifiedItemId (its just a string) u can also do ALL_ITEMS (F) as the item query
if i was doing this i would prob be lazy and just filter by item.QualifiedItemId prefix 
i understand that.. but I need to have lists of valid gifts you can give NPCs as well as various tasks.. so keeping them separate is paramount
otoh if u dont want to sift through wallpaper u can just decide on a few category to to ALL_ITEMS on
just to be clear everything im describing is "do within the export command" here
you are both the producer and consumer of data so it is just up to you to dump what you want
yeah.. but i have difficulty messing with things i've never played with.. soo I am aware I can be very inquisitive when I seek to understand it. As sample code for what I am doing tends to not be common.. who puts the effort in making an NPC creation tool? xD
the sample code you need is not "npc creation tool" but "fetch info about items in an ordinary SMAPI mod"
my mod has nothing to do with npcs (its about machines) but i do need to know about all the items in the game
lookup anything's dataparser helpers are very nice for this too, i reference it when my mod needs something that i have seen lookup anything show me

Yes.. I have to figure how to use it in a way I can work with... not too hard.. just got to configure it right
you IQContext refers to what
foreach (ItemQueryResult itemcheck in ItemQueryResolver.TryResolve(ALL_ITEMS (O), ))
``` I need to understand the last part
internal static ItemQueryContext IQContext => new();
normally this is used to pass some context info like location and the random used
i dont have that info so constructing the default one is sufficient
ALL_ITEMS is a const string btw (equal to "ALL_ITEMS")
you would want "ALL_ITEMS (O)"
Actually, it’s because I’m working on a new character, and in the storyline, I want to create an effect similar to Haley’s kiss and lights-out scene. To make it more interesting, I thought about adding a stamina reduction effect—not enough to cause a faint, just a small decrease.

trying to figure this out DX
it says ALL_ITEMS don't exist in the current Context...
DX I am getting a headache
i think my mod it done. it don't test get chat but i test Authorization and it work. i think getChat it will work.
as mentioned, you would want "ALL_ITEMS (O)"
I read your statement wrong
foreach (ItemQueryResult itemcheck in ItemQueryResolver.TryResolve("ALL_ITEMS (O)", query )) so that will work?
if query is a ItemQueryContext then yea it should
ItemQueryContext query = new ItemQueryContext();
so the next challenge is trying to set a dictionary with this result Item name: Id
My code already is set to go if key then display value
localization tho
and also ppl just having 2 items named the same
qualified item id is guarenteed to be unique
hmm.. i haven't bumped into that issue
mostly because I dont have modded items in my game
item.DisplayName will give localized name
item.Name gives the Name field on object data
and most mods set the Name field the same as the item ID for simplicity
not really seeing that.. since, again, never messed with modded items
even then, Name for vanilla items is unlocalized so you'll always get the English name
(it's definitely confusing since Name is an artifact from 1.5 back when item IDs can only be ints, and Name acted as a pseudo-string-identifier)
<.< literally the way I know it works is 1.5
but with all these changes, I need to learn the new way x3
from what I'm being told, I need to generate my lists with (x)Id: Name
Tbh I'm surprised you haven't run into that issue, Miss Coriel
There are two items in base game named Egg
And many named Stone
my old code got rid of duplicates.. so making new code on something like this is a bit frustrating
i've been at it for 4 hours... i need a break DX
Chat it work! yay
oh yea since it came up recently
you should send a email to nexus about your mod, since it has internet connectivity feature
Contents Usage and Accreditation Inappropriate Content Content related to Child Characters Associated Content and Categorisation Distribution Permissions in Rel
(This part talks about internet stuff)
I create it for self use.
yea then no worries, its only if you wanted to post mod to nexus
it have so many dll for one package
it hard to use and i think normal user can't use it because it need youtube api key and client_secret.
At least they dont have to bundle system.reactive for some reason like my deps
Stupid fat dll
My file size
i can make it easier to use with other way. But easy to use not easy to make.and i lazy. it need more package and more problem for easy to use.
One of my testers is having an issue with the animation strings. I haven't edited Sam at all for Lilybrook, but his animation string whislt playing the gameboy is messed up. All the others in pelican town seem to be fine, but it's definitely Lilybrook causing the problem (removed and it's fine)
(others have answered but I wanted to add that according to the registrar website for it, 20% of all proceeds from .gay domain name registrations go to LGBT charities, so the beginning of June seems like an excellent time to register one 
also I bought it with namecheap personally but it was ages ago and I'd also recommend porkbun now. Or cloudflare. just as always don't go checking domain availability before you're ready to buy)
you can turn a config into a dynamic token just by wrapping double brackets around it, right? you dont need to separately set it up in the dynamic tokens section of the content.json?
you can use a {{Config}} token inside the value of a dynamic token, but not vice versa, and if its in the value of the dynamic token then the value of that {{Dynamic}} token will include the value of the config
You think this "how to use" it ok?
(i hope that answers but im only like 80% sure what you mean)
to clarify the terms
- all configs are tokens, you can directly use them like {{configname}}
- dynamic tokens are content pack defined tokens basically, they can depend on global tokens (tokens provided by CP) and config tokens and mod provided tokens (i think?)
My prediction from last week seem to be correct: I wasn't able to do write any code since buying Blue Prince
and it won't get any better with the Shapez2 update and the Deltarune release...
anyone know where is the event string for secret santa event?
the letter or the event?
thanks. just know there is a festival folder lol
also NPCs can specify their own gift dialogue now
(I said now but it may be a 1.5 thing idk)
(nope, new)
it works!
done
didnt you just say it was for self use like an hour ago?
i deleted api key and secret file from mod. and after try upload in nexusmods. it not hard
wasnt the point. the point was that you were told there are nexus guidelines requiring you to get approval for mods that connect to an internet service
especially a closed-source mod that asks for your google api secrets?
i too lazy for draw new image. i use image from mod in terraria mod for StarDew mod. I think it's okay.
i try to upload and i will delete it from nexusmods if have problem
I mean you can resolve the problem if you simply email and asked for a review first
Internet connectivity is not a hard ban just a case of permission
you left it in debug mode, not release
how would one make a mod like this compatible with 1.6? smapi won't even load it
try the one here first
(however if you're still curious about the answer it: it depends™
no two C# mods are usually the same)
bump
i dont know enough about schedule strings to help. however its hard for anyone to help if you dont post jsons/logs
hey, is this where you can ask questions about creating mods and maybe get some help? I wanted to upload a new NPC to the game in my mod and I have no idea why my NPC doesn't appears in the game
this is indeed the place
however be prepared to provide a json at minimum with the relevant data, and a log if theres any errors in your console
!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.
(you upload your jsons and logs on smapi.io, the json link is in that governor command)
(i linked to blueberry's message with it)
There are no errors in my jsons or logs, so it wouldn't be helpful
It will be helpful because the logs indicate what assets get edited
and json errors are not always about syntax
that seems hard (for someone whose first language isn't English) but thanks for directing me
I love how it just makes a new tile every single frame
I don't...
Pls...
there is never a time when a json isnt helpful, because the first thing people are going to want to double check are your jsons
English hard yes, but you can reference the jsons in some of these guides
!npc
!npc
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!
Make sure you are making a 1.6 NPC
as in < ?
like to go back and edit a piece of your message?
Yeah
doesn't seem to let me do that, no
its been a while since ive used chat but i feel like i remember that being an issue as well yeah
Yea, I struggle to remember that and then just have to backspace what I wrote to fix the typo
I was really excited when I saw there was an api but... thats a bit unfortunate
so my seasonal tilesheets just arent working for some reason?
i have them named like this spring_Fellowclown.Plants
and like i know theyre supposed to swap just automatically so idk why they arent
I'm doing a small edit to a fish pond that absolutely goes against God's grand design, but I'm running into an error. I'm simply trying to make it so that Tiger Trout can reproduce in fish ponds (I know, they can't in real life, but this isn't real life), but when I do and check if my patch works, I get the error "the field 'TigerTrout' > 'SpawnTime' has type 'System.Int32', which isn't recognized by Content Patcher". I thought I understood how to change a field after reading Content Patcher's github a bit, but I don't know what it means here. Can someone nudge me in the right direction so I can make some fish know the joys of having children?
https://smapi.io/json/none/7311c25dee534865b3852b19f472e47a
do you have them all loaded?
yeah i do thats why im confused
You might not notice any errors in the jsons but there might be? cause other wise there's not really anything I can do to help here
"LogName": "Tilesheets",
"Action": "Load",
"Target": "Maps/Fellowclown_Tilesheet,Maps/spring_Fellowclown.Plants,Maps/summer_Fellowclown.Plants,Maps/fall_Fellowclown.Plants,Maps/winter_Fellowclown.Plants,Maps/Fellowclown.Events",
"FromFile": "Assets/Maps/Tilesheets/{{TargetWithoutPath}}.png",
},```
this is my load
you're drilling too deep with your TargetField. remove SpawnTime from it and change your entries to be "SpawnTime": whateveryouwant
^ like this, basically: https://smapi.io/json/content-patcher/9730531ae0994f4bae77eb86e22298f9
you also dont need targetfield at all if you use Fields instead
"Fields": {
"TigerTrout": {
"SpawnTime": -1
}
}
patch export Characters/Schedules/Sam
alternative you can try doing this to see if something's going awry with his schedule
I'll try those changes out in a minute. I figured I might've gone too deep but I couldn't tell. Still wet behind the ears with coding.
Huh... yeah from what I can tell that should? work so I'm not... exactly sure why it isn't 
Check what sheets are in the tmx maybe
its all looking correct idk whats up with it
Puzzling
Sorry for the slow reply, I’ve been mad busy with the testing and trying to communicate with everyone haha. I’ve managed to fix this issue now though, but thanks for your help c:
Can u do patch export <your map> and then send that tmx here
I recently changed the name its all been updated
its _plants now cause there was a weird yellow text about it
heres a question can changing the season and sleepin mess up the season changes for tilesheets?
nay
okay then ive nno idea
its not even doing it the old way either with the seasonal token
me neither 
its almost like my map is stuck in spring
wait.....i think i see the issue
nope not it
correct me if i'm wrong, but don't you not need to load tilesheets, just .tmx files?
I use tbins
ah then never mind me
why do you use tbins?
its just what i was taught to use
tbins are worse, and it's 4 characters to change
whats wrong with tbins?
well its harder to debug
they have less features
if you had tmx u could read the xml to see what the texture is named
i dont think there's anything broken about tbin though, and if someone told me mr ape also still use tbins i would not be surprised
I needed a outdoors property, i didnt know indoors cant be seasonal i thought it coudl be tho
he uses tmx
oh yea i didnt know this was a indoor map
u can use TreatAsOutdoors instead of the full Outdoors map prop
With Tbins I just like, its what i was taught from the get go
yeah seasonals dont work indoors/desert
YESSsssss
shroomb
tbins are older yes
hence why tmxloader was needed, there wasn't native tmx support initially
Hello guy, i don't know how to convert draw position on spriteBatch.Draw(drawPos)
convert to world position
this would be outside of any menus, right? not in the world map or anything
such as Character drawing
Object, Furniture or something
currently i can clone sprite batch drawing into unity
but position game object is not correct, i need to fix them
oh, this is for the VR thing, right?
so the draw position is relative to the viewport
and the viewport has a X and Y itself
take a look at Game1.GlobalToLocal
whos the maker of lacy hat mouse?
@tiny zealot
yea
its relative to the map's 0,0
not works some pos, 1 hour i will fix it
Monthly mod stats time!
Mod compatibility
76.6% of SMAPI (C#) mods are compatible or have a workaround, up from 76.2% last month.
Unique mods by type
We have 367 more mods this month. That includes:
- +274 Content Patcher;
- +42 SMAPI;
- +35 Alternative Textures;
- +31 Fashion Sense;
- +1 Farm Type Manager;
- 0 Better Artisan Good Icons;
- 0 Custom Furniture;
- 0 Custom Music;
- 0 TMXL;
- -2 Producer Framework Mod;
- -2 XNB;
- -4 Json Assets;
- -5 Dynamic Game Assets;
- -6 Mail Framework Mod;
- -6 Shop Tile Framework;
- and +9 for frameworks with <100 content packs.
Content Patcher packs
We have 11,127 Content Patcher packs.
The top five Format versions remain...
- 2.0 (3,356 ↗ 3,414), 2.3 (776 ↗ 802), and 2.4 (575 ↗ 586) for Stardew Valley 1.6;
- 1.19 (566 ↘ 565) for Stardew Valley 1.4;
- and 1.3 (477 ↘ 475) in old unofficial guides.
Open source
- We have 3,411 tracked C# mods, of which
- 2,210 mods (65%) have a source code repo, with
- 1,175 (53%) in a multi-mod repo and 1,035 (47%) in a single-mod repo.
Web costs
And finally, web hosting costs for the SMAPI.io site, update-check server, and API rose to US$239/month due to increased web usage. (The graph is always a bit behind due to billing cycles.)
See also
- Stats for March 2025
- Full mod dump
- Download all open-source mod repos
- Dynamic view of mod dependencies
And that's it for this month!
2/3 of c# mods are open source, nice
-2 xnb nature is healing
Only 1,536 XNB mods left to go (plus Naver which isn't included in the stats since their data isn't accessible).
wow thats a lot of mods
hedge
emperor's new landscaping
beautiful
isnt accessible... how 🤔
presumably you need login + no API so you need to scrape manually, which is a good way to get said login banned
naver isn't centralised in the same way nexus/moddrop is
most naver mods are on the equivalent of github pages
and it's partially on purpose - they have a choice to put the mods on the accessible part of naver (and some do), but many don't, which is up to them
Yay stats!!
Anyone know how to add buffs on a food item? Wanna put +speed in "Aged Triple Shot Espresso" by Machine Progression System for personal use
works great,
assuming it's a new item added by the mod, find where it's being added into Data/Objects and edit the Buffs section: https://stardewvalleywiki.com/Modding:Objects#Edibility
also, if it interests anyone, the dynamic dependency graph is already updated and also now let's you use a logarithmic scaling function, which leads to a much less content patcher dominated graph
(also you can scale the point and link sizes now too to your taste)
Beautiful 💖
.tbin is the binary variant of the tIDE format which is the native map format for xna / stardew.
There is also .tide which is the XML equivalent which is so rare smapi doesn't actually support mods loading it.
TMX is the format for the tiled editor which is more mod author and git/version control friendly.
But as it's not native it requires being parsed as a TMXMap first and then transformed into a native map, which is a decently expensive process
hm can i stick with tbin XD
Sure, though tiled won't save the tile rotation/flip metadata (in a way smapi understands) when saving to tbin, and as it's a binary file if used in an open source repo it won't show changes well
i never use those features
I do have a mod that's still semi experimental that intercepts all tmx loads and saves them as a tbin for future loads
Does anybody know if the clothes Emily give you during her makeover in the Desert Festival are CP-editable?
can you make event commands be multilined? its so unreadable when its all crammed into one line and so hard to edit it
what program do you use
vs code
Data\\MakeoverOutfits
the event itself isn't, the outfits are normal and the specific permutations are in ^
gosh this is such a specific ass thing to have asset for
Thank you for the answers, all!
surprised it isnt hardcoded raccoon style
i put this just under garbage can for "weirdly not hardcoded 1.6 thing"
i still think the mannequin data having an asset is the most weird niche one
wait wha
@pine elbow You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!
how would we know its cursed if it doesnt have data
personally I think it'd be more cursed if it parsed it's data from random memory addresses, regardless of whether or not those addresses are being used by stardew
segfault...
@brittle pasture thnks 
That's some expensive coffee
i cant choose what music to do for an event... the events kind of like, good news after being like hopeless or uncertain about the future for a little while
[[Modding:Audio]] is about halfway annotated in the music category so far if you haven't already looked there
(OK maybe like 2/5 but im getting there)
Perhaps kindadumbautumn
(Find it on spotify with "grapefruit sky" as its official name)
This is a question. I’m thinking of making a mod to add crops, does it matter if it’s already in game/already done before? I’m thinking it needs to be entirely unique-
!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.
we have 4 different types of butter, it's fine
Au okay-
if your crop mod doesn't add butter and olive oil does it even count \j
I didn't know you could grow butter
skill issue
Yoink.
😂
Damn it's nice seeing that this place is still active 5 years after I last looked at it
got a slight problem here in winter... i didnt know the tree appeared on garden areas in town! welp, this is going to be fun fixing it
Is Zoe still around ?
the aussie Zoe? sure, she's around still 
should i just go with it and incorporate the tree somehow?
id say that's a nice spot for a tree
oh actually its a different object, not the garden... maybe ill move it just a little so that the tree isnt broken
are there any machines in vanilla that output more than 1 item where the items don't stack? if no are there mods that do this?
I'm having an issue getting custom cutscenes to trigger with my first mod. It is similar to an issue that was posted here last night. I am trying to add a cutscene that happens with Sebastian when the player enters the mountain. Right now I have it really simple just to try and get it to work. My mod has an assets/blank.json . This is what my content.json looks like im sure i am doing something wrong: ```{
"Format": "2.6.0",
"Changes": [
{
"Action": "Load",
"Target": "Data/Events/Mountain",
"FromFile": "assets/blank.json",
"Priority": "Low"
},
{
"Action": "EditData",
"Target": "Data/Events/Mountain",
"Entries":{
"0601202500/f Sebastian 1250/t 0600 2300": "speak Sebastian \"Hey @, the cut scene is working!\"/end"
}
}
]
}```
When I debug in smapi it recognizes the event but nothing triggers. Any help is appreciated!
tytyty
also if a machine has "OutputMethod": "StardewValley.Object, Stardew Valley: OutputSolarPanel", does it bypass the normal outputmachine entirely?
your event doesnt start with the setup commands, which may be an issue. also, you should be using unique string IDs for event IDs now, though that wouldnt stop it from playing, just something to note. also the blank.json isnt doing anything because a Data/Events/Mountain already exists
might actually be doing worse than nothing its probably erasing all the vanilla events there


