HardcoreAlt Minecraft Plugin: A Hardcore Alternative Version: 1.2.2
Description: HardcoreAlt is a unique hardcore plugin designed to challenge players with a progressive health reduction system based on deaths. This plugin offers a fresh take on Minecraft's hardcore mode by providing custom death mechanics, heart restoration items, resurrection mechanics, and flexible configuration options. It is designed for PVE-focused gameplay.
The project started as a personal desire for something akin to the Lifesteal SMP plugin but focused on PVE. Since there wasn’t anything available that met those needs, I created this plugin. o:
Important: This plugin works only for survival-mode servers. It will not function on servers set to hardcore mode. For a more immersive experience, I recommend pairing this plugin with a hardcore hearts plugin.
---
Installation:
Download the plugin .jar file and place it into your server’s plugins folder.
Start your Minecraft server. The plugin will generate a default config.yml and language.yml file in the plugins/HardcoreAlt/ directory.
Edit the config.yml and language.yml files to customize the settings and messages to your liking.
Use the /haalt reload command to apply changes without restarting the server.
---
Features: Heart Reduction Based on Deaths: After each death, the player loses max health. This is fully configurable in the config.yml file. On the fifth death, the player is placed into Spectator Mode.
Custom Death Mechanics: Upon reaching the fifth death, players are placed in Spectator Mode. Their head will spawn at either the player’s death location or at configurable set locations (up to 10) based on the settings.
Heart Restoration Mechanic: Heart Fruit: Players can craft this special consumable item to restore lost hearts. The Heart Fruit restores the player to the previous death stage, allowing them to regain some lost health.
Resurrection Mechanic: Players placed in Spectator Mode after their fifth death can be resurrected using the Resurrection Stone. The player’s head spawns at their death location or at set locations (configurable). A living player can use the Resurrection Stone on the dead player’s head to bring them back to life, with the health restored according to the configuration (default: 5 hearts).
Custom Crafting Recipes:
Heart Fruit default recipe:
1 Totem of Undying in the middle, surrounded by Diamonds.
Stone of Resurrection default recipe:
1 Nether Star in the middle, Golden Apples on the sides, and Diamond Blocks for the top and bottom layers.
Both recipes are fully customizable in the config.yml file.
---
Configurable Settings: Spawn Location of Player Head: Set whether the player’s head spawns at their death location or at one of the configurable set locations. You can input up to 10 locations in the config file.
Heart Stages: Configure how many hearts are removed at each death stage, for each of the 5 stages.
Resurrection Stage: Define how much health the player has when resurrected using the Resurrection Stone.
Custom Resurrection Location: Decide whether resurrected players spawn at the world’s spawn point or a custom location (e.g., a Temple of Death for roleplay purposes). This can be toggled on or off in the config file. If set to a custom location, the coordinates can be specified in the config.
Customizable Names for Items: The names and icons for the Heart Fruit and Resurrection Stone can now be customized through the config.yml file, allowing you to give your items unique names and appearances.
Language Support: All player-visible messages can be customized in the language.yml file. You can translate the plugin to your preferred language or adjust any messages as needed. By default, messages are provided in English. Translation files for other languages not included, you'll have to translate manually (sorry).
Sound Customization: You can now choose between playing the resurrection sound either locally (just near the location) or globally for all players when a player is revived, via a setting in the config file.
---
Commands:
/haalt reload: Reloads the config.yml and language.yml files.
/haalt reset <playername>: Resets a player’s health stage to stage 0 (full health).
Both commands are restricted to server OPs only.
---
What's New in Version 1.2.2: New Features:
Heart Fruit Animation Enhancement: Added particles when consuming the Heart Fruit, providing visual feedback. The particles now originate from multiple locations around the player.
Resurrection Animation Enhancement: Improved the resurrection process by adding particles to make reviving a player more visually striking.
Sound Customization: You can now configure whether the resurrection sound plays globally (heard by all players) or locally (only near the resurrection event) via a setting in the config.
Custom Item Names and Icons: The names and icons for the Heart Fruit and Resurrection Stone can now be customized via the config.yml.
Language Support: Fully customizable messages through the language.yml file. You can translate messages to any language or adjust them as needed.
Bug Fixes:
Spectator Mode Persistence: Fixed an issue where players who reached the fifth death could bypass spectator mode by logging out and back in. Players are now correctly placed back in Spectator Mode upon rejoining the server if they had reached the death threshold.
Death Count Not Being Saved: Resolved a bug where the death count wasn’t saved properly. Now, all changes to the death count are saved immediately to ensure persistence across server restarts.
Resurrection Stone and Player Head Removal: Fixed an issue where the Resurrection Stone wasn’t properly removed from the player’s inventory, and the player head wasn’t destroyed after a successful resurrection.
Health Restoration from Heart Fruit: Corrected a bug where the Heart Fruit wasn’t restoring the player’s hearts according to their death stage.
---
Future Plans:
Even more customisation settings, like chosing the sound that gets played or the particles used.
Feel free to drop comments and/or suggestions for new features or improvements! Also feel free to contact me directly on discord (@MauxRose) if you have inquiries of any kind.