Welcome to the Nutcracker Update! This update is intended to be the last update for the Christmas portion of the mod, unless there are new, interesting features that I think of adding in the future. The main focus of this mod was not only new Christmas related content, but changing the internal systems to better support the addition of new holidays in the future.
The holiday I’ll be working on after this update is Chinese New Year, which will hopefully come out before next year’s Chinese New Year... well then, enjoy the update!
General
- Updated textures for blocks, items and mobs —
- Tinsels have a new and improved 3D look (and their item texture has been updated as well)
- Christmas Lights also have a new and improved look
- Christmas Bells’ textures have been tweaked to accurately depict the correct number of bells
- Rebalanced the colours and textures of various decorations and items
- Christmas related content has been organised into a Christmas tab — subsequent holidays will have their own tabs as well
Christmas
- Naughty-Nice Meter adjustments —
- Reduced the naughty-nice penalty of killing passive mobs (was 2, now is 1)
- Reduced the naughty-nice bonus of killing hostile mobs (was 10, now is 1)
- Added new interactions to be considered for the Naughty-Nice Meter —
- Nice actions —
- Drying Gingerbread Men (2 points)
- Taming Nutcrackers (10 points)
- Taming any vanilla mob (5 points)
- Healing any vanilla mob (1 point)
- Curing villagers (20 points)
- Naughty actions —
- Killing Nutcrackers (-50 points)
- Killing Christmas mobs (-20 points)
- Nice actions —
Mobs
- Santa —
- Exploding Presents now flash and inflate (similar to TNT)
- Santa’s animations have been improved to be less janky
- Angry Santa now looks at the location he’s trying to teleport to, or the players around him
- Reduced naughty-nice penalty of killing passive mobs (was 5, now is 2)
- Gingerbread Man —
- When a player holds a heat source near them along with a placed heat source, the Gingerbread Man will now become dry faster
- Christmas related mobs have had their textures improved on to be less brushy
- Christmas mobs have had their animations improved on
Blocks
- Explosive Present — the explosive presents created by Santa have been added to the game!
- Craft them using Iron Ingots, Gunpowder, Wool and a Present Scrap!
- They are a smaller, experimental version of normal TNT, meaning that they won’t destroy blocks around them but will explode on shorter notice!
- Baby Present — the requirement for String and Wool has been removed from Presents
- Baby Presents now have a new recipe that uses 4 Paper and 2 Present Scraps
- Baby Presents are now more likely to generate in colder biomes
- Presents’ loot table changes —
- Removed all vanilla Minecraft drops from all types of presents (i.e. only Christmas related things will now come from presents)
- Added Explosive Presents to the loot table
- Added Walnuts to the loot table
- Stocking loot table changes —
- Slightly reduced the maximum amount of resources you get from Enchanted Stockings
- Added Walnuts to the loot table
- Added Thread to the loot table
Nutcrackers
Introducing the Nutcracker, a new militaristic mob that roams the Overworld in their small groups!
- Nutcrackers are neutral mobs —
- Nutcrackers only attack when provoked, using nuts shot out of their mouths
- Nutcrackers only attack hostile mobs automatically if they have been tamed
- Nutcrackers drop wood when killed
- Roams around the Overworld in small duos / triplets
- Nutcrackers can be tamed using Walnuts —
- Walnuts are dropped from various Christmas sources, can be used to "tame" the Nutcrackers
- Nutcrackers also follow players holding Walnuts
- Tamed Nutcrackers can be healed by using Logs on them
- Taming Nutcrackers will also provide you with Nice points
- Walnut Plants — Walnuts can be placed on the underside of trees to be grown, with each fully grown Walnut Plant giving 2 - 4 Walnuts
- Nutcrackers have an inventory —
- Nutcracker inventories can hold Special Walnuts (more on this later), as well as armour items
- This inventory can be accessed once you have successfully tamed the Nutcracker by right-clicking them
- Nutcracker ammunition is selected first from the inventory; if not, the Nutcracker fires plain Walnuts at enemies
- Ammunition chosen from the inventory follows the order of left-first
- Armour bonuses from equipment do not include bonuses from enchantments
- Special Walnuts are improved nuts that can be passed to Nutcrackers to be used as ammo in place of plain Walnuts
- Sugared Walnut — a sugar-filled Walnut that increases the rate of fire of the Nutcracker
- Explosive Walnut — a gunpowder-filled Walnut that explodes on impact
- Halved Walnut — a Walnut that has been cut in half that increases the Nutcracker’s range but does less damage
- Metallic Walnut — a Walnut that has been merged with an iron nugget, increases the damage of an attack but decreases the range
- Patrol Orders — Tamed Nutcrackers can be instructed to patrol along a route that is specified using a set of Patrol Orders
- Each Nutcracker comes with a set of empty Patrol Orders that can be retrieved by right-clicking them with a Swagger Stick
- When a Nutcracker has a Patrol Orders in their inventory, they will patrol along the route that was indicated on that Patrol Orders
- Holding a Patrol Orders will show the patrol area of the Nutcracker, with a small light that travels along the route the Nutcracker will follow
- Determining patrol routes — each Patrol Orders has a patrol route attached to it that can be determined by the player
- Right-clicking spots on the ground will indicate the points to which the Nutcracker will attempt to patrol
- A route is considered complete when the final point is set as the same point — the Patrol Order is locked from further edits after this
- Actions taken by the player in setting various points on the route are reflected in the game’s chat
- Right-clicking a Nutcracker that has a Patrol Orders using a Swagger Stick will remove that Patrol Orders from their inventory, and also stop them from patrolling
- Patrol Orders can be erased by holding down right-click while having it in your hand
- Swagger Stick — show the Nutcracker who’s boss by holding a Swagger Stick!
- Swagger Sticks can be obtained as a Legendary item from presents
- Assembling Nutcrackers — when holding a Swagger Stick in the vicinity of Nutcrackers you have tamed, they will rush over and assemble in an orderly fashion in front of you
- This effect does not apply to Nutcracker that are currently on patrol duty
- Nutcracker Ornament — the Nutcracker comes with a new Legendary Ornament!
- Nutcracker Ornaments have a chance to drop when a Nutcracker kills an enemy
- Nutcracker Ornaments have a higher chance to drop when the enemy is killed while the Nutcracker is patrolling
Outfits
This update adds various Christmas outfits for players to wear!
- Outfits are new wearable items that have stats similar to Leather Armor
- Outfits comprise of varying number of components that can be worn to change the look of the player
- Outfits can be crafted using Thread and other miscellaneous components —
- Thread can be crafted by using stick with string on either side — gives 1 thread
- Outfit recipes are unlocked once the player crafts a piece of Thread
- Christmas Outfits that have been added include: Santa, Santa's Elf, Snowman, Candy Cane, Rudolph, Nutcrackers, Gingerbread Men
Holiday Intervals and Availability
Availabilty and Intervals are a set of new features in Happy Holidays that aims to provide more customisability over the content of the mod. Don’t like having Grinches spawning around your presents? Want to make Christmas only last during December? Then this new feature is just for you!
- Availability and Intervals work together to determine what content of the mod should be disabled, and can be controlled through the use of commands!
- If you’re not sure of how they work, you can try playing around with the commands; the settings can easily be reset to default!
- If you’re not sure of how this works, it’s fine! This won’t affect your gameplay of the mod in any way from previous times; it’s mainly for those who want to tweak some features of the mod to improve their own gameplay experience.
Intervals
Intervals determine the “active” period of the holiday: this means that between the two dates provided, the content of that holiday will be active and working. However, once this interval has been passed, some content of the mod will be dis`abled.
- The default interval set for all holidays is
all_year
, meaning that all holidays will be active throughout the entire year - Players (with admin privileges / access to cheats) are able to tweak this by either using some presets, or defining their own intervals
- Example: using a preset:
/happyholidays christmas interval preset [all_year | seasonal]
- Example: setting a specific interval:
/happyholidays christmas interval set MM-DD MM-DD
- Example: using a preset:
- Intervals are world-specific — they only affect the world that the changes have been made on
Availability
To further enhance customisability, we have Availability, which determines what content will be enabled or disabled! Availability determines whether a specific part of that holiday will be working, and this depends on the setting that has been applied to it.
- The default availability set for all content is
INTERVAL_ONLY
, meaning that the content will only be active during the specified interval for that holiday. - Once again, players with admin privileges can change the availability:
- Example: disabling the spawning of the Grinch entirely:
/happyholidays christmas availability set canGrinchSpawn NEVER
- Example: enabling the Christmas buffs to be always on (regardless of whether you’re in the interval specified for Christmas):
/happyholidays christmas availability set canStarGiveBuff ALWAYS
- Example: disabling the spawning of the Grinch entirely:
- Availability is also world-specific
Advancements
Added a bunch of new advancements for Christmas!
- (Achievement) Volunteer Work — Help Santa’s Elf 50 times
- (Achievement) No Sad Faces — Appease the Grinch 50 times
- (Achievement) Coal Miner — Defeat Angry Santa 10 times
- (Achievement) Bestest Player — Receive Happy Santa 10 times
- (Achievement) Oven-baked Goodness — Dry 200 Gingerbread Men
- Explosive Personality — Obtain an explosive present
- Click-Clock — Meet a Nutcracker
- A Woody Alliance — Tame a Nutcracker
- Mini Man — Obtain a Nutcracker Ornament
- Building an Army — Tame 20 Nutcrackers
- Murderous Intent — Have your Nutcrackers kill 500 mobs
- Patrol Duty — Obtain the patrol orders from the Nutcracker
- Dainty Delegation — Complete a set of patrol orders for the Nutcracker to use
- Roger That! — Pass a Nutcracker a completed Patrol Orders
- Aww Nuts! — Obtain a Walnut
- Multiflavoured! — Craft a Special Walnut
- Special Forces — Give a Nutcracker a special walnut
- (Achievement) That’s A Bit Much... — Give Nutcracker full inventory of explosive walnuts
- Built Different — Give a Nutcracker armour
- (Achievement) Hard Nut to Crack — Have a Nutcracker >x value of armour
- A Cooler Stick — Obtain a Swagger Stick
- Avengers Assemble — Use the Swagger Stick to assemble Nutcrackers
- Thread Lightly! — Obtain a piece of Thread
- (Achievement) Fashion Show — Obtain a full set of each Christmas outfit
Stats
This update also adds new stats to be tracked for the mod. They include:
- Christmas Gifts received, Gingerbread Men dried, Santa’s Elves helped, Grinches appeased, Angry Santas Defeated, Happy Santas received (i.e. drop parties you have finished), Nutcrackers tamed, Mobs killed by Nutcracker
Commands
Added commands for the various aspects of the mod! For Happy Holidays related commands, they start with a happyholidays
followed by their respective holiday (e.g. /happyholidays christmas ...
)
General
/happyholidays <holiday> interval
— holiday interval controls/... interval [query | set]
— subcommands that allow the user to query / set the active dates of the holiday
/happyholidays <holiday> availability
— holiday availability controls
Christmas
naughtyNice [query | set | reset] <player> <value>
— commands that help query / modify the current state of the naughty nice meter for the select playersantaSummonTimer [query | set | reset] [now | <ticks>]
— sets the next possible spawn time of Santa
Quality of Life
- Added a way to view the next possible summon time for Santa on the Christmas Star — you can do so by hovering on the summoning button inside the Christmas Star's interface
- Added spawn eggs for Gingerbread Men, Grinch, Santa's Elf, Happy Santa, Angry Santa, Nutcracker
- Santa Elf’s Bell now doesn’t go on cooldown when the player is in Creative mode
- Snow Globes don’t deplete in charges when the player is in Creative Mode
Technical Changes
- The guide book now uses the data system instead of the assets system: this means that changes inside the guide book JSON file can now be refreshed via
/reload
- Massively reorganized project’s package structure of the mod to make use of less classes and adhere to Minecraft's way of packaging things
- Removed a bunch of unnecessary classes
Bugfixes
- Fixed an issue where upgrading a Stocking / cutting a Stocking would not update on other clients
- Fixed an issue where applying colours to an Alphabet Ornament would not update on other clients
- Fixed an issue where Christmas mobs are leashable