
Grave Box
🪦 GraveBox v2.0
GraveBox is a robust Minecraft plugin designed to enhance player experience by preventing item loss upon death. Instead of dropping items when players die, GraveBox automatically creates a special container (grave) at the death location that securely stores all inventory items.
✨ Key Features
⚡ Core Functionality
- 🪦 Automatic Grave Creation: Instantly generates a container at the exact death location when a player dies
- 🎒 Complete Inventory Preservation: Transfers ALL items including:
- Full armor set (helmet, chestplate, leggings, boots)
- Offhand items (shields, totems, etc.)
- Main inventory contents
- Hotbar items
- 📦 Multiple Container Options: Supports CHEST, BARREL, and SHULKER_BOX
- 🧹 Smart Grave Management: Automatically removes empty graves to prevent clutter
- 📂 File-based Storage: Each grave's contents are saved to individual YML files
- 🔍 Virtual Inventory Mode: Uses virtual inventories for grave contents
🛡️ Enhanced Protection Systems
- 💥 Explosion Protection: Graves survive TNT, creepers, and other explosions
- 🔒 Indestructible Graves: Optional complete protection against all damage
- 🔑 Owner-Exclusive Access: Strict access control with configurable messages
- 🚫 Item Blacklisting: Prevent specific items from being stored in graves
📊 Player Statistics System
- 📈 Death Tracking: Records how many times each player has died
- 🗃️ Database Storage: SQLite by default
- 📊 Stats Command: /gravestats shows personal death count
- ⏱️ Timestamp Tracking: Records when each death occurred
💬 Discord Integration
- 📢 Death Notifications: Real-time alerts to Discord channels
- 🎨 Custom Embeds: Color-coded messages with rich formatting
- 📍 Location Details: Includes world and coordinates
- 🖼️ Custom Footer: Shows plugin version in messages
🎨 Customization Options
- 🏷️ Custom Grave Names: Supports {player} placeholder and color codes
- 🔧 Flexible Material Choices: Any container block type
- 📤 Item Overflow Handling: Drops excess items when grave is full
- ⚙️ Blacklist System: Prevent specific items from being stored
📥 Installation Guide
- 🔽 Download the latest GraveBox.jar from releases
- 📂 Place in plugins/ folder
- 🔄 Restart server to generate configs
- ⚙️ Edit plugins/GraveBox/config.yml as needed
- 🔃 Reload with /gravebox reload or restart
⚙️ Configuration Details
⚰️ Grave Settings
grave:
material: "CHEST" # CHEST, BARREL, SHULKER_BOX
size: "EXTRA_LARGE" # SMALL (9), MEDIUM (18), LARGE (27), EXTRA_LARGE (54)
explosion-protection: true
indestructible: true
auto-remove: true
drop-items-on-destroy: false
custom-name: "&6{player}'s Grave"
📊 Statistics System
stats:
enabled: true
database:
type: "SQLITE"
file: "stats.db"
📢 Discord Webhook
discord:
enabled: false
webhook-url: "https://discord.com/api/webhooks/your_webhook_here"
message: "{player} died at {x}, {y}, {z} in world {world}"
embed-color: "FF0000"
💬 Messages
messages:
grave-created: "&aYour items are safe in a grave at &e{x}, {y}, {z}&a in world &e{world}&a."
not-your-grave: "&cThis is not your grave!"
cannot-destroy: "&cThis grave is indestructible!"
grave-emptied: "&aYou retrieved all items from your grave. It has now vanished."
grave-full: "&cYour grave was too small to hold all your items! Some were dropped nearby."
stats-message: "&6Your death count: &a"
🚫 Advanced Settings
advanced:
blacklisted-items:
- "BEDROCK"
- "BARRIER"
- "COMMAND_BLOCK"
- "CHAIN_COMMAND_BLOCK"
- "REPEATING_COMMAND_BLOCK"
- "STRUCTURE_BLOCK"
- "JIGSAW"
🔑 Permission Nodes
Permission | Description | Default |
---|---|---|
gravebox.use | Access grave features | true |
gravebox.stats | View death statistics | true |
gravebox.admin | Admin commands | op |
gravebox.bypass | Bypass all protections | op |
🕹️ Usage Guide
👨💻 Player Commands
/gravestats
- View your death count (aliases: deathstats, deaths)
👨💼 Admin Commands
/graveadmin
- Admin commands for GraveBox (reload|stats)
🛠️ Technical Specifications
📦 Dependencies:
- PaperMC API 1.21
- SQLite JDBC (included)
- Jackson Databind (included)
⚙️ API Support:
- PlaceholderAPI (soft dependency)
- Vault (soft dependency)
📊 Data Storage:
- SQLite database for statistics
- YML files for grave contents storage
🔧 Technical Details:
- Java 17+ required
- Maven build system
- Shaded dependencies to prevent conflicts
❓ FAQ
Q: How do I set up Discord notifications?
A: Enable in config.yml and add your webhook URL
Q: Can graves be destroyed if indestructible is false?
A: Yes, with drop-items-on-destroy controlling whether items drop or are deleted
Q: How do I prevent certain items from being stored?
A: Add them to the blacklisted-items in config.yml
Q: What happens if a grave is placed in an obstructed location?
A: The plugin will try to place it one block higher, or drop items normally if no space is available
Q: Can I change the grave size?
A: Yes, through the size option in config (9-54 slots depending on material)
🌟 Pro Tips
- Use SHULKER_BOX for portable graves that move with chunks
- Combine with WorldGuard for region-specific protections
- Use PlaceholderAPI to show death stats in scoreboards
- Set up Discord webhooks for staff monitoring
- For large servers, consider monitoring the graves folder size
🤝 Support & Contributing
Report issues on GitHub. Contributions welcome via pull requests!
📜 License
MIT License - Free for use and modification
📌 Version Information
- Current Version: 2.0
- Minecraft Version: 1.17
- API Version: Paper 1.21-R0.1-SNAPSHOT
- Java Version: 17+
🏗️ Building from Source
- Clone the repository
- Run
mvn clean package
- Find the shaded jar in target/ folder
🧩 Plugin Integration
GraveBox is designed to work well with: - Essentials (loads before it to handle death events) - Vault (for potential economy integration) - PlaceholderAPI (for stats display)
⚠️ Known Limitations
- 54-slot graves only work with CHEST material (as double chests)
- Virtual inventory mode doesn't support hoppers or other block interactions
- File-based storage may become inefficient with extremely high player counts