ModsJava
HardcoreMP | Hardcore Together | Coop
Java mod listed for Minecraft 1.20–1.21. Download on the author's site.
⬇ Download on Spigot
HardcoreMP
One world. One group. One shared pool of lives.
One world. One group. One shared pool of lives.
What is HardcoreMP?
HardcoreMP turns your server into a shared hardcore run. Everybody plays the same world and everybody shares the same lives. When the group runs out of them, the overworld, the nether and the end are wiped and a brand new world is generated with a random seed.
No Multiverse. No world manager. No manual setup. The plugin creates, links, backs up and deletes its own worlds.
Features
- Shared hardcore mode — one world, one group of players, one run for everyone.
- Lives system — decide how many deaths the group gets before the world resets. Lives survive server restarts.
- Random world generation — every run gets a brand new random seed.
- Async generation — worlds are prepared in the background, the server never freezes.
- Limbo world — while the new world is generated, players wait in an internal void world in spectator mode instead of being kicked.
- Built-in dimension linking — nether and end portals (players and entities) are routed to the session worlds. Multiverse is not needed.
- World backups — old worlds are zipped into plugins/HardcoreMP/old_worlds/ before being removed, or deleted straight away if you prefer.
- Crash-safe state — the run (seed, lives, reset counter) is stored in data.yml, so a restart is never mistaken for a world reset.
- Offline player handling — players who were offline during a reset are detected and optionally cleaned up when they return.
- MOTD integration — the server list shows whether the world is ready.
- Fully translatable — every single message lives in lang.yml.
- Developer API — force resets and listen to GameWorldResetEvent.
How a run works
- Startup. The plugin loads the recorded run from disk. If there is none, the worlds are generated in the background while players wait in the lobby.
- Playing. Once the worlds are ready, everyone is moved into the shared hardcore session: overworld, nether and end, all linked to each other.
- A death. The group loses one life. Players in the bypass list do not cost a life, and deaths in the lobby never count.
- No lives left. Everyone goes to spectator mode in the limbo, the worlds are archived, a new world is generated with a random seed, and everybody is teleported into it with fresh stats.
Commands & permissions
Aliases: /hcmp, /hardcoremp, /hmp — all of them require hardcoremp.command.
- /hcmp help — show the command list.
- /hcmp info — seed, difficulty, your position, spawn, time, weather, world type and remaining lives.
- /hcmp reload — reload config.yml and lang.yml without restarting.
Configuration
Code (YAML):
setting :
# Name of the lobby-world
lobby-world : "world"
# Delete old worlds folder after reset (false = keep a zipped backup)
remove-old-worlds : true
# Change motd of the server
motd : true
# The list of players whose deaths do not cost a life.
user-bypass-list : [ ]
# If this is set to true, players who were offline while the world was reset
# lose their inventory when they join again
offline-player-inventory-clear : true
# Lives a new game starts with
max-lives : 3
Your data is safe
HardcoreMP is deliberately conservative about deleting things:
- If the world on disk does not match the recorded seed, it refuses to regenerate and tells you how to fix it, instead of silently starting a new game and emptying everybody's inventory.
- Folders that are not the world being reset — your world container, your lobby world — are never touched.
- Old world folders are moved aside atomically before being zipped or deleted, so a failed cleanup can never leave a "reset" that reloads the old world.
- Inventories are only cleared using the reset counter stored on the player, never using timestamps.
Requirements
- Spigot / Paper 1.20+
- Java 8 or newer
- No dependencies
Developer API
Code (Java):
// Current session (overworld, nether, end, lives, creation time)
GameSession session = HardcoreWorldControl. getGameSession ( ) ;
// Status of the game world: READY, GENERATING, REGENERATING, ...
WorldStatus status = HardcoreWorldControl. getStatus ( ) ;
// Force a world reset
HardcoreWorldControl. regenGameWorld ( ) ;
// React to the end of a reset
@EventHandler
public void onReset (GameWorldResetEvent event ) {
World newWorld = event. getGameWorld ( ) ;
}
Links & support
- Source code: https://github.com/cykvta/HardcoreMP
- Bugs & feature requests: GitHub issues
- Metrics: bStats (anonymous, can be disabled in plugins/bStats/config.yml)
Enjoying the plugin? Leave a review — it really helps.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.20, 1.20.6, 1.21
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
HardcoreMP | Hardcore Together | Coop is a free Minecraft Java mod. Compatible with Minecraft 1.20, 1.20.6, 1.21. Downloaded 1,247 times (via Spigot). Download it and open it directly in the game.