GravesPro — Changelog
v1.2.1
⚠️
Important — Upgrading from v1.0.0? Delete your entire plugins/GravesPro/ folder before installing this update. The config structure has changed and old files will cause errors on startup. Your in-world graves will not carry over from v1.0.0 — this is a fresh start.
⚠️
Paper Only GravesPro requires
Paper 1.20+. Spigot and Purpur are
not supported — the hologram system uses Paper-exclusive TextDisplay APIs that do not exist in Spigot. The plugin will fail to load on Spigot.
New Features
- Grave Persistence — Graves now survive server restarts and reloads. All active graves are saved to graves.yml and restored automatically on startup, including their physical head blocks and holograms.
- Ocean Death Support — Dying underwater no longer places a broken head inside the ocean. GravesPro now places a glass platform at the water surface directly above your death location, keeping your grave fully accessible without diving.
- Lava Death Safety — When claiming a grave above lava, the platform briefly becomes a solid stone block for 5 seconds before disappearing, preventing you from falling straight back into the lava.
- Fire Resistance on Claim — Claiming a grave placed over lava or water now grants 10 seconds of Fire Resistance I automatically. Duration is configurable (fire_resistance_seconds).
- Admin Commands — New /gravespro command with two subcommands:
- /gravespro reload — Reloads config.yml without restarting the server. Active graves are not affected.
- /gravespro list — Lists all active graves on the server with owner name, world, coordinates, and time remaining.
- Max Graves Enforced — The max_graves config option is now actually enforced. When a player hits the limit, their oldest grave auto-drops its contents to make room for the new one.
Bug Fixes
- Fixed: Hologram timer freezing — Holograms would stop counting down after a player travelled to another dimension (e.g. entering the Nether). The old TextDisplay entity was being left as a ghost in the unloaded chunk. The system now force-loads the chunk, removes the stale entity, and spawns a fresh hologram — so the timer always ticks correctly.
- Fixed: Wrong grave opened in Vault GUI — When a player had multiple graves, clicking Quick Recover would always recover items from the most recently created grave, not the one actually opened. Each player's open vault is now tracked individually.
- Fixed: Items lost on grave creation failure — If grave creation threw an internal error, drops were already cleared and the player lost everything silently. Drops are now only cleared after a successful grave is confirmed.
- Fixed: Teleport cancel across worlds — Calling distanceSquared() between two locations in different worlds throws an IllegalArgumentException. The teleport warmup now checks for world changes before any distance calculation.
- Fixed: Frozen timer after world change — Opening the teleport menu and switching worlds left the warmup task running in the background. It now cancels cleanly on world change.
- Fixed: cancel_on_move config not read — The teleport warmup always cancelled on movement regardless of the cancel_on_move setting. It now respects the config value.
- Fixed: Item corruption on death — Inventory contents were stored by reference, meaning Bukkit could mutate them after death. All item arrays are now deep-copied on grave creation.
- Fixed: Location HashMap lookup bug — Using Location as a map key includes yaw and pitch in the comparison, causing lookups to randomly fail. All location keys are now stored as plain world,x,y,z strings.
- Fixed: Hologram ghost on plugin reload — TextDisplay entities were not cleaned up on onDisable(), leaving invisible ghost entities in the world after a reload. They are now removed on shutdown.
- Fixed: Items droppable from Vault GUI — Players could shift-click items directly out of the grave vault without using Quick Recover, bypassing the recovery system.
⚙️ Config Changes
New keys added in config.yml:
grave_settings:
max_graves: 3
fire_resistance_seconds: 10
teleport_settings:
cancel_on_move: true
ocean_settings:
platform_block: GLASS
messages:
void_fallback: "&cYou fell into the void! Grave placed at &fx:%x% y:%y% z:%z%"
ocean_grave: "&bYou drowned! A glass platform marks your grave. Use &f/gptp&b to find it."
max_graves_dropped: "&eYour oldest grave was cleared to make room for a new one."
️ Commands & Permissions (Updated)
Command
Description
Permission
/gptp Open the Grave Teleport Menu gravespro.tp (default: true)
/gravespro reload Reload config.yml gravespro.admin (default: op)
/gravespro list List all active graves gravespro.admin (default: op)
v1.0.0
- Initial release.
- Player head grave spawning on death.
- Grave Vault GUI with Quick Recover.
- TextDisplay hologram with countdown timer.
- /gptp teleport menu with warmup.
- Void safety with configurable search radius.
- XP preservation with configurable percentage.
- Grave protection (owner-only access).
- Admin bypass permission.