Stardew Valley
0 of 0

File information

Last updated

Original upload

Created by

Alpha_Omegasis

Uploaded by

Omegasis

Virus scan

Safe to use

About this mod

A mod that adds in the player's birthday to Stardew Valley.

Requirements
Permissions and credits
Translations
  • Ukrainian
  • Turkish
  • Spanish
  • Russian
  • Portuguese
  • Mandarin
  • Korean
  • Italian
  • German
  • French
Changelogs
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.5+!
Compatible with Stardew Valley 1.5+ on Linux, Mac, and Windows. Requires SMAPI 3.0 or later.

Install
  • Install the latest version of SMAPI.
  • 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.
  • Install version 2.7.1+ of Stardust Core  as well.
  • Run the game using SMAPI.

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.
PathosChild for all of the support over the years for helping me with modding!
Spacechase0 for usage of SpaceCore which helps with making the mod run!

conundrum9999 for adding screen reader access via stardew-access.
See https://github.com/janavarro95/Stardew_Valley_Mods/pull/95 and https://github.com/khanshoaib3/stardew-access

(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

See also