Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou can upload this file to other sites but you must credit me as the creator of the file
Modification permissionYou are allowed to modify my files and release bug fixes or improve on the features so long as you credit me as the original creator
Conversion permissionYou can convert this file to work with other games as long as you credit me as the creator of the file
Asset use permissionYou are allowed to use the assets in this file without permission as long as you credit me
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are allowed to earn Donation Points for your mods if they use my assets
Author notes
Do anything you like with it, just please credit me when you do so.
File credits
Me:Alpha_Omegasis Pathoschild: For SMAPI
Credit for the updated and fixed mail file: Maurality
Also see the credits for translations posted in the description
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Added support for Happy Birthday spouse events to read where the spouse normally strands in the kitchen instead of multiple events per farmhouse level.
Version 3.19.0
Fixed the birthday menu drawing outside of the game window when using a mod that manipulates the game's zoom level.
Fixed the gift selection menu drawing outside of the game window when using a mod that manipulates the game's zoom level.
Fixed being able to select many of the same gift in the gift selection menu.
Version 3.18.2
Fixed Players viewing the event in an incorrect location inside of the house where their spouse asks about their favorite gift.
Fixed Players viewing the event where your spouse gives you your birthday gift in an incorrect location inside of the house.
Fixed an issue where your spouse would give you an error item as a gift.
Added an dialogue box error message to be more visible to Players when they don't have any content packs installed for the mod. (Sorry if this gets in the way.)
Version 3.18.1
Fixed an issue where the billboard was not displaying the name of the events on any date properly.
Version 3.18.0
Added new console command: Omegasis.Happy_Birthday.reset_birthday to reset the Player's birthday while playing the game.
Allow the player to select multiple birthday gifts instead of just one.
Added support for modded items.
Version 3.17.3
Fixed the player being asked their birthday every time they start the game,
Version 3.17.2
Fixed a bug where mail could not be read due to not properly checking the asset name for the file.
Version 3.17.1
Fixed the mod not saving the player's birthday due to using special file path characters such as < > * in the player's name.
Version 3.16.0
Fixed birthday events and messages not triggering unless a cutscene was entered.
Added code to support fixing Leah's and Penny's birthday events when Stardew Valley expanded is installed.
Version 3.15.0
Add generic birthday party dialogue for non-supported modded spouses.
Add generic gift-asking dialogue for non-supported modded spouses.
Add the ability to have custom dialogue for gift-asking events for spouses.
Add support for generic belated birthday wishes for mail for npcs, so that mailboxes don't crash or cause errors for modded npcs.
Content Packs now are the source for events as they are no longer included in the main mod's files.
Added basic controller functionality for menus, though no snappy movement sadly
Hopefully a fix for menus being positioned off screen where it would prevent gameplay from progressing.
Version 3.14.0
Fixed NPCs not having birthday dialogue to show during all of the birthday parties.
Also updated birthday events to be version 2 to override the old, non-working versions.
Fixed the mod crashing on vortex installs when loading the game due to trying to load a folder managed by votext (which is some metadata) as a happy birthday event file. Now event files are only loaded from .json files.
Fixed belated birthday messages coming a whole year later if your birthday was on the 28th day of a season (sorry!)
Version 3.0.12
Changed a mod config to default to falling back to reading the English content pack contents when no content pack can be found for someone's native language.
Version 3.0.11
Fixed an error when creating a new Character.
Fixed a softlock when your spouse would ask you for your favorite gift before Lewis asks for your birthday.
Fixed spouses not wishing you Happy Birthday with the correct English dialogue due to a parsing error.
Added support to content packs for translated TimeOfDay strings.
Version 3.0.10
Fixed duplicate custom npc logic being added when getting belated birthday wishes.
Version 3.0.9
Fixed logical error where the mod was not getting information from loaded content packs.
Version 3.0.7
Spacecore confirmed not needed anymore
Fixed the issue where switching saves to a new Farmer would make their birthday the same as a different farmer.
Birthday events now auto update themselves with mod updates. (Requires Stardust Core v 2.8+)
Added some more errors to be displayed when the mod can't find content packs for a given language code
Added a mod config option to default to the english content pack, but it's disabled by default.
Version 3.0.6
The mod now throws an error if there are zero content packs installed for Happy birthday due to the number of issues reported with missing dialogue.
Added some fallback options for how birthday gifts are chosen when interacting with custom npcs that are added in by other mods to prevent crashes.
Prevent duplicate gift ids from being registered.
Re-added the dependency on SpaceCore since it's necessary to make cutscenes progress.
Version 3.0.4
Fixed error where content packs were being loaded after registering gifts, causing a hard to detect crash.
Fixed errors regarding returning to the title screen and reloading a save.
Made spouse ask for player's favorite gift event unskippable, as skipping it would cause unintended side effects.
Version 3.0.3
Removed content pack as part of the downloads from main mod page
Renamed some paths in content pack to mitigate some installation issues.
Fixed Joja mart birthday happening when not the player's birthday.
Version 3.0.1
Added HappyBirthdayModApi when using SMAPI's GetAPI method.
Fixed crash related to loading content packs.
Added forgotten manifest dependency on SpaceCore
Version 3.0
Reworked many features of the mod.
Main Content:
Major Changes:
-Villagers who did not give a gift/birthday wishes on the day of the Player's birthday will send a letter with said belated wishes and gifts instead. No more hunting everyone down!
-Players are no longer asked their birthday when starting the game. Instead Lewis has an event outside the farmhouse where he will ask you.
-Players are no longer asked their favorite gift when starting the game. Instead their spouse will have an event with them when they are married and ask them instead, which aligns more with the original intent of the spouse being the one to give the player their favorite gift.
-Added new birthday events.
-Community birthday party: Go to the saloon when you have 5+ hearts with all of the villagers for a nice surprise. :)
-Spouse specific birthday events: All spouses have a special birthday event where they wish you happy birthday and give you your favorite gift! Includes extra dialogue outside of the original dialogue present.
-Joja also recognizes the birthdays of their members, but only available as long as they are still in town.
-Birthday events are now saved to .json files so that they can be modified in the case of a random conflict of some sorts (I.E npcs getting stuck on modded maps)
Minor Changes:
-The Junimos will now have their birthday party at the Community Center for the player regardless if it is finished or not. Just don't be a Joja member!
-Mom and dad's birthday gifts can now be adjusted in the config file for the mod.
-Dad gives less money during year 1 and 5k during year 2+.
-Added birthday wishes for Leo.
Quality of Life:
-Added a search box to the Gift Selector Menu.
-Added tool tip hover boxes to the Gift Selector Menu.
Modding:
-Rewrote the gift and birthday wishes systems to use a content pack format for Happy Birthday.
-This means that adding custom NPCs via content packs should be MUCH easier as only an entry for their gifts and dialogue need to be added.
Bug Fixes:
-Farmhands no longer need to reselect their birthday when rebooting the game.
Version 2.1.0
Fixed farmhands having to re-choose their birthdays when connecting.
Made it so that the host re-sends the farmhand's birthday when the connect.
Removed reference to "Lumber"
Version 2.0.1
Fixed an issue where mail wasn't properly being sent for Abigail's birthday invitation.
Version 2.0.0
Updated the mod to have a much cleaner gift giving system.
Updated the config file to reflect new changes to the gift giving system.
Prevented some birthdays from being on days where parties can't be viewed. Days that npcs follow their normal schedule and stores are open are still valid birthday days,
Prevented the birthday menu from being closed on accident.
Fixed some issues where some translation keys not being present would crash the mod.
Added a new menu where players can choose their favorite gift. This gift will be given to the player by their spouse when married.
Added in new strings for the mod.
Added in a new birthday event for Abigail which can only be seen on Wednesdays if the player is a Joja Member or the Community Center has not been completed when filling out bundles.
Added a new mail piece for Abigail that reflects if the player's birthday is on Wednesday or not.
Version 1.12.0
Fixed Shane's birthday mail saying Alex was the one who sent it.
The community center event now occurs regardless if it is finished or not.
NPCs should finally say their proper birthday wishes when their heart/friendship level is high enough.
Changed the Content folder to the ModAssets folder for the mod to see if Vortex will play nicely.
Confirmed that for no reason whatsoever that events will not happen twice in a row.
Confirmed that the mod doesn't like custom NPCS but that should be ok.
Version 1.10.5
Fixed birthday events repeating themselves.
Fixed a translation string crash.
Version 1.10.4
Fixed an issue where Shane was off screen for his birthday event.
Version 1.10.3
Rewrote dialogue code to finally kill off pesky errors and unify it under one function.
Fixed an error when returning to title screen and reloading a save.
Version 1.10.2
Fixed a bug where Alex's party wouldn't trigger.
Version 1.10.1
Fixed the mod just not working. Silly me I forgot a line of code.
Fixed the birthday menu just not working when using a non-english translation.
Version 1.10.0
-Fixed many translation issues showing only english text.
-Added spouse marriage dialogue
-Added birthday events.
-Added birthday mail for spouses and the Junimos.
-Fixed manifest loading problem.
-The mod now automatically detects the language to use for the files. No more mucking around with a config file!
Version 1.9.1
Fixed not receiving a birthday message from npcs when they had room specific dialogue.
Fixed mouse cursor being hidden behind player icon on calendar.
Fixed issue where the mod config was not being properly updated if no legacy birthday files were found.
Fixed issue where giving a gift to an npc would not allow the player to receive a birthday gift.
Version 1.7.0
Nerfed Saplings as a gift so that you only get 1 and not 5.
Nerfed Rare Seeds so that you only get 2 and not 5.
Ever wonder why you don't have a birthday in Stardew Valley? Well worry no more!
This mods lets you pick a day for your birthday. On your birthday you get letters from your parents, and villagers give you gifts and wish you happy birthday.
Updated for SDV 1.6+! Requires SMAPI 4.0 or later.
Download this mod's Happy Birthday file and unzip it into Stardew Valley/Mods.
Download a Happy Birthday translated content pack. The English content pack can be found at a separate mods download page here. This is to make sure that Vortex can properly handle downloading the content pack since it didn't work when bundled with the mod.
Usage The menu to choose your birthday should appear when you wake up in the morning. On your birthday, talk to NPCs as usual and they'll wish you happy birthday and give you gifts. Their gifts will change based on your friendship with them. Check your mailbox for letters from your parents.
New in Version 3.0.0
Major Changes
Villagers who did not give a gift/birthday wishes on the day of the Player's birthday will send a letter with said belated wishes and gifts instead. No more hunting everyone down!
Players are no longer asked their birthday when starting the game. Instead Lewis has an event outside the farmhouse where he will ask you.
Players are no longer asked their favorite gift when starting the game. Instead their spouse will have an event with them when they are married and ask them instead, which aligns more with the original intent of the spouse being the one to give the player their favorite gift. Added new birthday events.
Community birthday party: Go to the saloon when you have 5+ hearts with all of the villagers for a nice surprise. :)
Spouse specific birthday events: All spouses have a special birthday event where they wish you happy birthday and give you your favorite gift! Includes extra dialogue outside of the original dialogue present.
Joja also recognizes the birthdays of their members, but only available as long as they are still in town.
Birthday events are now saved to .json files so that they can be modified in the case of a random conflict of some sorts (I.E npcs getting stuck on modded maps) Minor Changes
The Junimos will now have their birthday party at the Community Center for the player regardless if it is finished or not. Just don't be a Joja member!
Mom and dad's birthday gifts can now be adjusted in the config file for the mod.
Dad gives less money during year 1 and 5k during year 2+.
Added birthday wishes for Leo. Quality of Life
Added a search box to the Gift Selector Menu.
Added tool tip hover boxes to the Gift Selector Menu. Modding
Rewrote the gift and birthday wishes systems to use a content pack format for Happy Birthday. This means that adding custom NPCs via content packs should be MUCH easier as only an entry for their gifts and dialogue need to be added. See below for more details Bug Fixes:
Farmhands no longer need to reselect their birthday when rebooting the game. (I know this was a huge bug report)
Prevent users from being able to select their birthday on festival days. This was originally present but somehow broke when updating the mod once. Willing to remove this if someone requests it since now Players can get birthday wishes in the mail the next day. :)
Advanced: Content Packs With the rewrite of Happy Birthday to V 3.0. I wanted to add a way for users to be able to add their own content to Happy Birthday without needing to contact me to do it. So the solution for this was to write content packs that do a few things. 1. Add support for custom NPC dialogues. 1.1. Custom dialogue is accomplished by creating/editing <ContentPackMainFolder>/Content/Strings/BirthdayWishes.json. If making a new content pack for your own custom npc(s) then delete all of the entries and just add in the name of your own Npc and the birthday wish you wish for them to say. So for example if you had a custom NPC named Joshua, all you would need to do is add a like like this to the BirthdayWishes.json file "Joshua": "Hey @, it's so great to see you on your birthday! I hope today is going to be a blast for you! 1.1.1 The same can be done for spouses (if your mod adds custom marriage candidates) by editing SpouseBirthdayWishes instead. Note that there are some special keywords such as {TimeOfDay} or {AffectionateSpouseWord} that get translated into appropriate time of day text like "Good Morning" and "Pumpkin, Sweet heart, etc" respectively to allow for variations.
1.2. For adding/editing belated birthday messages in the mail, you'll want to modify <ContentPackMainFolder>/Content/Strings/Mail.json where you will do the same but write a message for the belated (aka day after) birthday wish. So for example it might look like this. "Joshua": "Happy belated birthday, @! ^ Hopefully this year we can hang out more together. ^^ - Joshua {0}" 1.2.1: The {0} at the end of the string is critical as that is how birthday gifts get added to the mail message. Forgetting that will mean the player will not get a belated birthday gift due to the nature of how I added in dynamic gift support for mail. 1.2.2: Mail text is structured differently in Stardew Valley than dialogue text. I recommend that you read the wiki to understand the differences between the two since it took me a lot of time to figure it out myself after not looking at it for a long time.
1.3. Custom gift support. By adding a file under <ContentPackMainFolder>/Content/Data/Gifts with the appropriate NPC name, you can specify what gifts that NPC will give the player. I recommend looking at <ContentPackMainFolder>/Content/Data/Gifts/RegisteredGifts.json for all of the vanilla Stardew Valley gift ids.
2. Add a way to have additional dialogue strings for events. Not as interesting, but allows for the text to be modified by modders now.
My personal recommendation is to take the English content pack included, make a copy of it, and modify it to make your own content packs. Just make sure to change the Manifest.json file when doing so!
Advanced: Adding in translations
With the inclusion for mods to add in custom translations now, the content pack system also servers as the translation content system as well. Only a few adjustments need to be made when adding a new translation for vanilla content
1.All files under <ContentPackMainFolder>/Content/Strings/ will need to be modified for the new translation. This will include birthday wishes, mail, event dialogue etc. 2. <ContentPackMainFolder>/TranslationInfo.json will need to be changed to have it's "LanguageCode" field to reflect the translation code the game is using. So for example adding in a Spanish translation would require changing the language code in the new content pack to "LanguageCode": "es-ES"
This should allow it to be much much easier for users to be able to add in custom translations, or variations of dialogue without needing to send me the information anymore. Just make a content pack and drag and drop it into the StardewValley/Mods folder and you should be all good! Happy Birthday will automatically load it in for you!
Regarding Content Packs:
Please feel free to release content packs under your own user profile. I will not be including translation content packs under the downloads section for this mod anymore, instead it would make me happy to see others get proper credit for the work they put in as well. If you make a content pack, absolutely go ahead and sign up for Nexus's mod donations point system!
Regarding Mod Support: I know it's been widely requested to add support for popular mods like Stardew Valley Expanded. I have added a lot of structure to be able to do so now, but I still need to do investigation for what specifically needs to be done, plus writing events/dialogue, etc for these new NPCs. I haven't played with that mod myself, so I can't promise anything for this in the immediate future, but it is still something I would like to do.
For now, if there is an interest in modding expansions for Happy Birthday, there is additional support for doing things such as adding custom items to be given from mods for the Player's birthday, adding in custom events, and expanding on event capabilities. To see what is possible, please see https://github.com/janavarro95/Stardew_Valley_Mods/blob/DevelopmentModRewrites/GeneralMods/HappyBirthday/Framework/API/HappyBirthdayAPI.cs and https://github.com/janavarro95/Stardew_Valley_Mods/tree/DevelopmentModRewrites/GeneralMods/HappyBirthday/Framework/Events for more information.
Regarding Bugs: If there is a bug for the mod please post in the Bugs section for this mod page so I can take note and address it. It will help me see what still needs to be fixed. While I tested as much as possible for this new version, I know there probably are a few things I overlooked working some late nights on this, so please be patience and bring it to my attention.
Closing Notes: It's been over 5 years since I released Happy Birthday, part of a hobby experiment to get properly into video game design. While I know I haven't always been the most active, it's been great interacting with the community, seeing your feedback, and reading about how much others have enjoyed my work. It never was my intention to become as popular as I did, but I am glad if I helped you experience Stardew Valley in a positive way. Thanks for the journey and best of wishes as always. :)
Omegasis.
Special thanks to the following!
nexus user: cerreli for the original English dialogue for birthday wishes. All of the nexus users creating their own translations for the mod! PathosChild for all of the support over the years for helping me with modding! Spacechase0 for usage of SpaceCore which (at one point!) helped with making the mod run! (SDV 1.5)
(LEGACY V 2.0) Translations Included: Chinese: Thanks to Nexus user erinyang! English: Done by myself (Omegasis) for birthday events and birthday wishes done by nexus user: cerreli Italian menu strings: LeecanIt German: Nexus user Nadin0147 Russian: Nexus user pananaevas