GraveChestNO
⚰️ Smart Graves • 1 Physical Chest + 54 Virtual Slots • ️ Fully Protected • EN/ES • Vault TP • PvP/Killer Mode
────────────────────────────────────────
✅ What does it do?
When a player dies, GraveChestNO places a
single grave chest at/near the death location and stores the player’s items in a
virtual 54-slot inventory (no double-chest glitches).
It supports
XP saving by percentage,
smart relocation for lava/void deaths,
multi-graves per player,
holograms,
access modes, and
claims/region compatibility with a safe interaction-only bypass.
────────────────────────────────────────
✨ Key Features
- 54-slot virtual grave (only 1 chest block placed)
- Smart Shift-Claim (Owner only)
- Auto-equips armor
- Moves items into inventory
- If inventory is full, leftover items stay in the grave
- XP Save % (0–100)
- 0 = save none
- 100 = save all
- in-between = save that percentage
- Up to 20 graves per player (configurable) — dying again won’t delete older graves
- ⏳ Auto-expire graves (default 2 hours, configurable)
- ️ Hologram with placeholders + time remaining ({expires_in})
- Death message with coordinates (+ relocation messages with old/new coords)
- Lava deaths: safe relocation + smart “lava edge” fallback (no Nether roof nonsense)
- ️ Void deaths (The End): relocates to the main island area and avoids the central bedrock fountain
- ⚔️ Killer detection
- Player name if killed by a player
- Mob name if killed by a mob
- Projectile shooter detection (when possible)
- Translatable mob/killer names (EN/ES)
────────────────────────────────────────
Access Modes (Config)
Set:
access_mode: PRIVATE | PUBLIC | KILLER
- PRIVATE
- Only the owner can open/loot/claim the grave.
- PUBLIC
- Anyone can open and loot manually.
- Shift-Claim is OWNER ONLY (prevents instant auto-gear advantage).
- KILLER (Tournament / PvP)
- Only owner + killer can open/loot manually.
- Shift-Claim is OWNER ONLY.
- If the killer disconnects, they permanently lose access to ALL graves where they were the killer (even after rejoin).
────────────────────────────────────────
⚔️ Combat Tag (Environmental death killer credit)
If you die to lava/fall/void shortly after being hit, the plugin can still credit the killer:
- ⏱️ combat_killer_window_seconds (default 15s)
- If multiple attackers hit you, the killer is the LAST HIT within the window.
────────────────────────────────────────
️ Grave Protection (Hard Anti-Exploit)
Graves are protected to prevent abuse/duplication:
- Cannot be broken (BlockBreak)
- Immune to explosions (EntityExplode + BlockExplode: TNT, Creeper, Beds, Respawn Anchors, etc.)
- Pistons cannot push/pull graves
- Hoppers cannot siphon items
- Won’t “pop into drops” if blocks below/around change
- ️ Claims/Region bypass applies ONLY to grave interaction (optional)
A grave disappears only when:
- The grave inventory becomes empty, OR
- ⏱️ It expires (grave_expire_seconds)
It is
NOT removed just because someone opened it (prevents abuse in PUBLIC/KILLER modes).
────────────────────────────────────────
Claims / Protected Regions Compatibility
If a protection plugin cancels chest interaction, GraveChestNO can bypass it
only for the grave chest interaction (owner and/or killer).
This does
NOT bypass protections for other blocks.
Recommended defaults:
- Owner can open their grave inside claims ✅
- PUBLIC looting inside claims stays blocked ✅
────────────────────────────────────────
/grave tp (Cost + Delay)
Teleport to your
most recent grave:
- Optional price (Vault economy)
- ⏳ Delay before teleport (default 3s)
- ❌ Cancel on movement and/or taking damage (configurable)
- ✅ Charged only after the teleport succeeds
- You can teleport only to your own graves (even in PUBLIC mode)
────────────────────────────────────────
Quick Setup (5 Steps)
- Drop GraveChestNO into your server’s /plugins folder.
- (Optional) Install Vault + an economy plugin if you want a teleport cost.
- Restart the server (first start generates config + language files).
- Edit /plugins/GraveChestNO/config.yml (choose access mode, XP %, expiration, TP options).
- Run /grave reload (or restart) and test by dying once.
────────────────────────────────────────
⌨️ Commands
- /grave where — shows info about your most recent grave
- /grave tp — teleports to your most recent grave (delay/cost rules apply)
- /grave remove <player> — removes all graves for a player (admin)
- /grave reload — reloads config/lang (admin)
────────────────────────────────────────
Permissions
- gravechestno.use
- Allows creating graves on death if permission is required by config.
- gravechestno.tp
- Allows using /grave tp.
- gravechestno.where
- Allows using /grave where.
- gravechestno.remove
- Allows using /grave remove <player> (admin).
- gravechestno.reload
- Allows using /grave reload (admin).
- gravechestno.admin
- Admin bypass (if enabled in config).
────────────────────────────────────────
⚙️ Configuration (Example)
Code (Text):
language: "en"
prefix: "&8[&bGraveChestNO&8]&r "
# Require permission to create graves on death
require_use_permission: true
# Access: PRIVATE | PUBLIC | KILLER
access_mode: "PRIVATE"
# Limit graves per player
max_graves_per_player: 20
# Auto-expire (seconds). 7200 = 2 hours. 0 = disabled
grave_expire_seconds: 7200
# XP stored on grave (0-100)
xp_save_percent: 0
# Combat-tag killer credit window (seconds)
combat_killer_window_seconds: 15
# Teleport options (Vault required if price > 0)
teleport_price: 0.0
teleport_delay_seconds: 3
teleport_cancel_on_move: true
teleport_cancel_on_damage: true
# Bypass region/claims protection ONLY for grave interaction
protection_bypass:
owner: true
killer: true
public: false
admin: true
# Hologram
hologram:
enabled: true
base_height: 2.2
line_spacing: 0.25
────────────────────────────────────────
️ Hologram Placeholders
- {player} — owner name
- {killer} — killer name (player/mob) when available
- {cause} — formatted cause (Lava, Void, Fall, etc.)
- {expires_in} — time remaining until expiration (or ∞ if disabled)
- {xp} — stored XP amount (if enabled via xp_save_percent)
- {world} {x} {y} {z} — grave location (only if you include it in hologram lines)
All hologram lines and texts are fully customizable in the language files (EN/ES).
────────────────────────────────────────
Languages
- English
- Spanish
- Editable files: /plugins/GraveChestNO/lang/
────────────────────────────────────────
Requirements
- ✅ Java 17
- ✅ Paper/Spigot/Purpur 1.20+ (Paper recommended)
- Vault + Economy plugin (only if teleport_price > 0)
────────────────────────────────────────
❓ FAQ
Q: Will graves work inside protected regions / claims (WorldGuard, ProtectionStones, etc.)?
A: Yes. The plugin can bypass protection
only for grave interaction (owner/killer), while keeping other blocks protected.
Recommended: keep
protection_bypass.public=false to prevent looting inside claims.
Q: Can other players teleport to my grave in PUBLIC mode?
A: No.
/grave tp always teleports only to
your own most recent grave.
Q: What happens if I die multiple times without looting my graves?
A: Multiple graves are supported (default max 20). If the limit is exceeded, the
oldest grave is removed.
Q: Can graves be destroyed by TNT/Creepers/Beds/Respawn Anchors?
A: No. Graves are protected against both
EntityExplode and
BlockExplode sources.
Q: Can I siphon items using hoppers?
A: No. Hoppers cannot pull items from grave inventories.
Q: How does lava relocation work?
A: The plugin searches for a nearby safe location. If none is found, it uses a smart fallback near a
lava edge while avoiding unsafe placements.
Q: How does void relocation work (The End)?
A: The grave relocates to the
End main island area and avoids the
central bedrock fountain to prevent stacking/bugs.
Q: Does the plugin duplicate items?
A: The plugin prevents physical exploit paths (break/explode/piston/hopper). Leftover items remain inside the grave if your inventory is full during Shift-Claim.
Q: Can I disable XP saving?
A: Yes. Set
xp_save_percent: 0. Use
100 to save all XP.
Q: In KILLER mode, does the killer keep access after disconnecting?
A: No. If the killer disconnects, they permanently lose access to
ALL graves where they were the killer.
Q: When does a grave disappear?
A: Only when it’s empty or when it expires by time (
grave_expire_seconds). It is not removed just because someone opened it.
Q: Is it heavy on performance?
A: No. Processing happens only around grave events/interactions. Keep expiration enabled and avoid extremely high max graves per player on very large servers.
────────────────────────────────────────
⭐ If you like the plugin, please leave a review!