(before anyone asks or thinks - yes, I've done a N9ne, yes, there are long instructions, but that's just because I want no backdoors, workarounds, and fully packed with features

)
Firstly, a warning about the hack, it will have the following for installation:
- Run 2 Queries
- Modify 12 different files
- Modify 9 different templates
- Add 3 templates
This hack has a main purpose, and a complete sub-hack to it, which stops the famous 'fake your age' workaround.
Onto the features:
- Adds an option to each forum's options: Use Age Restriction? YES//NO ~ Minimum Age to Access: __
- On forumhome, under forum descriptions, there are 3 different states: (No restriction: nothing shown) - (Restriction and user too young - States there is restriction, and how old you need to be, and that you can't access) - (Restriction and user is old enough - States there is restriction, and how old you need to be, and that you are OK to access)
- If you are too young and try to access the forum, you get told you are too young, and the minimum age.
- If you try, through urls, to get directly to the newreply or newthread pages, for that forum, it won't work, you will be presented with the same error.
- Searching: This is something that is overlooked with many restrictive hacks, but not by me! If you are too young to see posts of a certain forum, they won't show up when searching a user's posts from their profile, or from search.php.
- Forumjump: If you are too young to access a forum, it won't be listed in the forumjump (no point in doing so!)
- When a user is registering, birthdate is now compulsary. They must enter it.
- After registration, users cannot change their birthdate [why should they need to! it doesn't change!]
- Upon registration, users are presented with an additional option of making their birthday public. Default is yes.
- Users can see the above option in modify options page in userCP too, after registration.
- The above option affects showing the birthday on the calendar and in their profile. Admins can still go to the adminCP to see their birthday.
- The whole hack is fully templated, for your language needs [or if you wish to change wording].
- No extra queries are run anywhere.
- The variable $yourage is made global in global.php, where there is code added which calculates a user's age from their birthdate.
- NOTE: It is advisable that you tell your members to put in their full birthdate before installing this hack.
I made this hack on 2.3.0 but it should work on 2.2.x with a little modification

.
It's 3am and I've finished making the hack, so I thought i'd post about it, and I'll be documenting the hack for release tomorrow.
Thanks go out to assassingod who assisted with the testing of some code.
Any questions?