MaxGraves is a lightweight graves plugin for modern Minecraft servers. When a player dies, the plugin can store their items and experience in a temporary grave at or near the death location, give the player a locator map after respawn, and let them recover their contents safely.
- Creates a grave when a player dies and stores their dropped items and experience.
- Prevents the original death drops and dropped experience from duplicating after a grave is created.
- Gives the owner a locator map after respawn for every active grave that does not already have a locator in the player's inventory.
- Lets players right click their locator map to teleport to the linked grave when they have permission.
- Supports multiple active graves per player by default, with an optional single-active-grave limit.
- Opens a configurable GUI with the player's active graves through
/maxgraves info. - Lets players teleport, refresh locator maps, and view detailed grave information from the info menu.
- Keeps grave claiming physical; graves are still claimed by going to the grave marker instead of clicking a GUI claim button.
- Automatically equips recovered armor and off-hand items when the matching equipment slot is empty.
- Drops recovered overflow items at the player when their inventory is full.
- Stores and returns experience when the grave is claimed.
- Removes expired graves automatically after the configured lifetime.
- Removes the owner's locator when the linked grave is claimed or expires.
- Searches nearby blocks for a safe grave position when the exact death location is blocked.
- Supports world blacklists where graves should never be created.
- Respects
keepInventory; no grave is created when the death event keeps the player's inventory. - Supports private graves by default.
- Can optionally make graves from player kills public through
grave.access.public-player-kill. - Detects player killers, projectile killers, tamed entity owners, named mobs, and environmental deaths for hologram placeholders.
- Supports two grave marker modes: player head graves and chest graves.
- Protects grave blocks from normal breaking, explosions, fire, flowing blocks, pistons, and hopper-style item movement.
- Supports configurable holograms with placeholders.
- Supports configurable particles and ambient sounds for head graves.
- Supports configurable claim animations with visual lightning and sound.
- Supports bilingual message files through
general.language(enandesare bundled). - Automatically adds missing keys from bundled YAML files to existing config and language files.
- Supports runtime reload of settings, messages, grave visuals, update checks, and bStats state.
- Includes optional update checks and admin join notifications when a new version is detected.
- Includes optional anonymous bStats metrics.
- Includes death-event debug logging for troubleshooting drop or experience conflicts.
- Java 21.
- A modern Paper/Spigot-compatible server with API version
1.21. - Targets Paper API
26.1.2.build.53-stable.
The main command is /maxgraves.
Aliases:
/maxgrave/mg/graves
| Command | Permission | Default | Description |
|---|---|---|---|
/maxgraves |
None | Everyone | Shows the command usage message. |
/maxgraves info |
maxgrave.info |
Everyone | Opens a menu with the player's active graves. Player-only command. |
/maxgraves reload |
maxgrave.admin |
Operators | Reloads configuration, messages, grave settings, update checks, and bStats state. |
All aliases support the same subcommands, for example /mg info and /mg reload.
| Permission | Default | Used for |
|---|---|---|
maxgrave.admin |
op |
Allows /maxgraves reload, receives update notifications on join, and inherits maxgrave.tp and maxgrave.info. |
maxgrave.info |
true |
Allows /maxgraves info. |
maxgrave.tp |
false |
Allows the owner to teleport to their grave by right clicking a MaxGrave locator map. |
Grave claiming is not controlled by a Bukkit permission. It is controlled by ownership and the configured access policy:
- Owners can claim or open their own graves.
- Non-owners cannot claim private graves.
- If
grave.access.public-player-killis enabled, graves created by player kills can be opened or looted by other players. - Locator maps can only be used by the owner of the linked grave, even when teleport permission is granted.
grave.marker.type: "HEAD"
Head graves place a player head marker. This mode supports:
- Holograms.
- Particle effects.
- Ambient grave sound.
- One-click claiming by right clicking or breaking the grave marker.
- Claim animation before rewards are returned.
grave.marker.type: "CHEST"
Chest graves place a chest marker and open a grave inventory. This mode supports:
- Holograms.
- Taking items one by one from the grave inventory.
- Automatic grave completion when the chest inventory becomes empty.
- Experience reward for the player who empties the grave.
- Overflow handling: if more than 54 item stacks would be stored, extra stacks are dropped at the grave location.
Chest mode intentionally does not use particles or claim animations.
Main settings live in plugins/MaxGraves/config.yml.
| Path | Default | Description |
|---|---|---|
general.language |
en |
Selects the language file. Bundled options are en and es. |
general.update-check |
true |
Enables startup and periodic update checks. |
general.bstats |
true |
Enables anonymous bStats metrics. |
general.prefix |
MaxGraves prefix |
Prefix used in plugin messages. |
grave.despawn-time |
3600 |
Seconds before a grave expires. |
grave.blacklisted-worlds |
Example PvP worlds | Worlds where graves will not be created. |
grave.search-max-radius |
6 |
Maximum horizontal radius used to find a safe grave location. |
grave.debug-death-events |
false |
Logs detailed death-event traces for troubleshooting. |
grave.create-on-death |
true |
Enables or disables automatic grave creation on death. |
grave.limit.single-active |
false |
If enabled, players can only have one active grave at a time. New deaths will not create another grave until the previous one is claimed or expires. |
grave.marker.type |
HEAD |
Grave marker mode. Available values: HEAD, CHEST. |
grave.access.public-player-kill |
false |
Allows public access to graves created by player kills. |
grave.info-menu.size |
54 |
Inventory size used by the /maxgraves info menu. Values are normalized to valid inventory row sizes. |
grave.info-menu.grave-slots |
Configured list | Slots used for grave entries in the main menu. Invalid or duplicate slots are ignored. |
grave.info-menu.expiring-threshold-seconds |
300 |
Remaining seconds at which a grave entry switches to the expiring material. |
grave.info-menu.details.summary-slot |
13 |
Slot used by the summary item in the detail menu. |
grave.info-menu.sounds.enabled |
true |
Enables menu click sounds. |
grave.info-menu.sounds.click.type |
UI_BUTTON_CLICK |
Sound played when clicking menu buttons. |
grave.info-menu.filler.* |
Configured item | Decorative filler item used behind menu entries and buttons. |
grave.info-menu.item.material |
PAPER |
Fallback material used for grave entries and detail summaries. |
grave.info-menu.item.head-material |
PLAYER_HEAD |
Material used for private head graves. |
grave.info-menu.item.chest-material |
CHEST |
Material used for private chest graves. |
grave.info-menu.item.public-material |
ENDER_EYE |
Material used for public graves. |
grave.info-menu.item.expiring-material |
CLOCK |
Material used for graves close to expiration. |
grave.info-menu.buttons.* |
Configured items | Configures previous, next, refresh, close, back, teleport, locator, and details controls. |
grave.hologram.enabled |
true |
Enables grave holograms. |
grave.hologram.update-interval-ticks |
20 |
How often hologram text refreshes. |
grave.hologram.base-height |
0.3 |
Height offset from the marker to the first hologram line. |
grave.hologram.line-spacing |
0.25 |
Spacing between hologram lines. |
grave.hologram.lines |
Configured list | Lines shown above graves. |
grave.claim-animation.enabled |
true |
Enables the claim animation for head graves. |
grave.claim-animation.delay-ticks |
20 |
Delay before rewards are returned after claiming. |
grave.claim-animation.lightning.enabled |
true |
Plays visual lightning during the claim animation. |
grave.claim-animation.sound.type |
ITEM_TOTEM_USE |
Sound played when claiming. |
grave.claim-animation.sound.volume |
1.0 |
Claim sound volume. |
grave.claim-animation.sound.pitch |
0.75 |
Claim sound pitch. |
grave.effects.enabled |
true |
Enables particle effects for head graves. |
grave.effects.update-interval-ticks |
5 |
Particle update interval. |
grave.effects.primary-particle |
SOUL |
Primary spiral particle. |
grave.effects.secondary-particle |
SMOKE |
Secondary ambient particle. |
grave.effects.primary-count |
4 |
Primary particle amount per tick. |
grave.effects.secondary-count |
2 |
Secondary particle amount per tick. |
grave.effects.spiral-radius |
0.7 |
Spiral radius. |
grave.effects.spiral-height |
1.3 |
Spiral height. |
grave.effects.vertical-speed |
0.05 |
Vertical particle movement speed. |
grave.effects.ambient-sound.enabled |
true |
Enables random ambient sounds near head graves. |
grave.effects.ambient-sound.type |
BLOCK_SOUL_SAND_HIT |
Ambient sound type. |
grave.effects.ambient-sound.volume |
0.45 |
Ambient sound volume. |
grave.effects.ambient-sound.pitch |
0.7 |
Ambient sound pitch. |
The following placeholders can be used in grave.hologram.lines:
| Placeholder | Description |
|---|---|
{player} |
Grave owner's name. |
{player_level} |
Grave owner's level at death. |
{killer} |
Killer name or configured unknown-killer text. |
{time_left} |
Remaining time before the grave expires. |
{x} |
Grave X coordinate. |
{y} |
Grave Y coordinate. |
{z} |
Grave Z coordinate. |
The info menu supports a main grave list and a per-grave detail view. Main grave items support these clicks:
| Click | Action |
|---|---|
| Left click | Teleports the owner to the grave when they have maxgrave.tp. |
| Right click | Removes any old locator for that grave and gives the owner a fresh locator map. |
| Shift click | Opens the detail menu for that grave. |
The menu also supports configurable previous page, next page, refresh, close, back, teleport, and locator buttons.
The following placeholders can be used in info menu titles, grave items, detail summaries, and button text:
| Placeholder | Description |
|---|---|
{index} |
Grave number in the menu. |
{page} |
Current menu page, starting at 1. |
{pages} |
Total page count. |
{graves} |
Total active graves owned by the viewer. |
{world} |
Grave world name. |
{x} |
Grave X coordinate. |
{y} |
Grave Y coordinate. |
{z} |
Grave Z coordinate. |
{time_left} |
Remaining time before the grave expires. |
{items} |
Number of stored item stacks. |
{exp} |
Stored experience amount. |
{killer} |
Killer name or configured unknown-killer text. |
{type} |
Grave marker type. |
{access} |
Configured public/private access label. |
{id} |
Internal grave UUID. |
Message files are stored in:
plugins/MaxGraves/lang/messages_en.ymlplugins/MaxGraves/lang/messages_es.yml
The active file is selected with general.language.
The plugin supports legacy color codes and hex colors in messages.
- Active graves are stored in memory while the server is running.
- Server shutdown or plugin disable removes active grave blocks and visuals.
/maxgraves reloadreloads settings without disabling the plugin.- Existing config and language files are automatically updated with missing bundled keys.
- Invalid marker types fall back to
HEAD. - Invalid info menu materials, slots, and sounds fall back to safe defaults.
- Invalid particles or sounds fall back to safe defaults and log a warning.
For questions, bugs, ideas, or suggestions, join the support Discord: