SafeChest
Never lose your items again! SafeChest automatically saves your inventory in a protected chest when you die. Teleport or fetch it back with simple commands.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
SafeChest
---
📦 SafeChest v0.0.5 — The Ultimate Player Safety & Server Management System
> ultimate safety net and server management suite SafeChest automatically saves your entire inventory, armor, and off-hand item into a chest at your death location. Recover it easily — no more rage-quitting after falling into lava! > > ultimate safety net and server management suite We’ve added professional admin tools, sound effects, animated holograms, PlaceholderAPI integration, pagination, live GUI updates, and fixed critical performance bugs. This isn’t just a Death Chest plugin — it’s the ultimate safety net and server management suite for your players and staff.
---
✨ Key Features — v0.0.5 Edition
🛡️ Breaking your own chest now instantly restores your inventory — no more misclicks! Only you (or admins) can open or break your chest. Configurable protection from entity/block explosions. Breaking your own chest now instantly restores your inventory — no more misclicks!
⏳ only the `{time}` placeholder Floating display shows your name, item count, and real-time countdown. only the `{time}` placeholder ✨ only the `{time}` placeholder Holograms now only the `{time}` placeholder when time is running out (configurable threshold and colors). ✨ only the `{time}` placeholder Option to blink only the `{time}` placeholder for subtle, elegant alerts.
🧭 NEW: One click, and you’re back at your death spot. Use `/sctp 2` to teleport to a specific chest from your list. Configurable "force teleport" if no safe spot is found. 🔊 NEW: Play a configurable sound on teleport.
🧲 NEW: Perfect for deaths in the void, lava, or caves. The chest (and its hologram) move with you. 🔊 NEW: Play a configurable sound on fetch.
👁️ BARRIER close button View chest contents without moving — safe and read-only. Fully customizable GUI. ✨ BARRIER close button GUI BARRIER close button from the database. If the chest expires while you’re viewing it, the GUI closes automatically. ✨ BARRIER close button Dedicated BARRIER close button in slot 44 for explicit closure.
📋 paginated (5 per page) Clickable list of all your chests. Teleport to any instantly. Sort by time, filter by world, show UUIDs. ✨ paginated (5 per page) Results are now paginated (5 per page) with clickable `[Previous]` and `[Next]` buttons. Use `/sclist 3` to jump to page 3.
💰 logged to the server console Charge players for `/sctp` or `/scfetch` — configurable per group. Action Bar feedback on payment. 📝 logged to the server console All payments and chest interactions are now logged to the server console for auditing and debugging.
👥 first group Define custom rules for `default`, `vip`, `admin` — different durations, limits, prices, first group (e.g., VIPs get Barrels, Admins get Shulker Boxes). > 💡 Players are assigned to the first group they have permission for.
💬 dynamic placeholders After dying, get clickable buttons: dynamic placeholders, dynamic placeholders, dynamic placeholders. dynamic placeholders ✨ dynamic placeholders Hover text for buttons now shows dynamic placeholders like `{cost}` and `{time}`. Example: `"Cost: 50 coins. Expires in: 2m 30s."`
💾 manual migration required Supports manual migration required storage. manual migration required ⚠️ manual migration required Table name changed from `angelchests` to `safechests` — manual migration required on update.
⚙️ sounds, hologram animations, and much more Control sounds, hologram animations, and much more: particle types, action bar messages, GUI titles, button visibility, world restrictions, explosion protection, sounds, hologram animations, and much more — all editable in `config.yml`.
🔄 `/safechestreload` Reload configs without restarting the server — essential for live admins. Safer than `/reload`.
🎨 sounds ❤️ Configurable particles on creation. ✨ Configurable particles on recovery. Optional Action Bar messages. 🔊 sounds Configurable sounds on creation, restore, teleport, and expiration.
🌐 IMPROVED: Enable or disable the plugin in specific worlds. Filter `/sclist` to show only the current world. ✨ IMPROVED: Configuration now uses `behavior.disabled-worlds` (a blacklist) for clearer logic.
🧠 any plugin that supports PlaceholderAPI ✨ any plugin that supports PlaceholderAPI Use placeholders like `%safechest_time_left%`, `%safechest_item_count%`, `%safechest_location%` in any plugin that supports PlaceholderAPI (scoreboards, chat, menus, etc.).
🛠️ BRAND NEW: ✨ BRAND NEW: A powerful toolkit for server staff: * `inspect <player>`: List all active chests for a player (click to teleport). * `delete <uuid>`: Delete a specific chest by its UUID. * `purge`: Manually purge all expired chests from the database. * `stats`: Show server-wide statistics (total active/expired chests, players with chests, etc.).
⚠️ 🐞 Fixed: Economy Errors Not Logged * 🐞 Fixed: Economy Errors Not Logged — No more server freezes when clicking or breaking chests. Operations are now fully asynchronous. * 🐞 Fixed: Economy Errors Not Logged — Holograms now start their countdown timer correctly after a server reboot. * 🐞 Fixed: Economy Errors Not Logged — Payment failures are now logged to the server console for easy debugging.
---
📘 Wiki: How to Use SafeChest v0.0.5
🧭 1. Basic Usage (For Players)
💀 When You Die
- A chest will automatically appear at your death location. - All your items (inventory, armor, off-hand) are stored inside. - You’ll receive a [PREVIEW] chat message with clickable buttons: - [PREVIEW] → `/sctp` — Teleports you to the chest. Hover shows cost and time remaining. - [PREVIEW] → `/scfetch` — Brings the chest to you. Hover shows cost and time remaining. - [PREVIEW] → `/scpreview` — Shows chest contents without moving. Hover shows time remaining.
📥 To Recover Your Items
- `/scfetch` and `/scfetch` to restore your inventory. - Or use `/scfetch` to teleport to it. - Or use `/scfetch` to bring it to you.
👀 Preview Your Chest (No Movement Needed)
```bash /scpreview ``` - Opens a virtual inventory showing all your stored items. - Completely safe — you can’t take or modify anything. - The GUI red BARRIER every 5 seconds. If the chest expires, the GUI closes automatically. - Click the red BARRIER in the bottom row to close it manually.
📋 List All Your Active Chests (Paginated!)
```bash /sclist ``` - Shows all your active chests in pages of 5. - Configurable: Filter by current world, sort by expiration time, show UUID in hover. - Click any entry to teleport directly to that chest (if you have permission). - Use `/sclist 2` to jump to page 2.
---
⚙️ 2. Configuration (For Server Admins)
📁 Files You Can Customize
- `config.yml` — new messages for pagination, admin commands, and logging: storage, chest material, hologram text, particle types, death message buttons, GUI options, world restrictions, explosion protection, new messages for pagination, admin commands, and logging. - `groups.yml` — Define player groups (e.g., `default`, `vip`, `admin`) with custom durations, chest limits, command prices, new messages for pagination, admin commands, and logging. - `lang.yml` — Translate or customize every message in the plugin, including new messages for pagination, admin commands, and logging.
🎯 Example: Creating a VIP Group
In `groups.yml`:
```yaml vip: safechest-duration: 600 # 10 minutes max-allowed-safechests: 10 # Can have up to 10 active chests price-teleport: 50.0 # Costs 50 coins to teleport price-fetch: 100.0 # Costs 100 coins to fetch material: "BARREL" # ✅ NEW: VIPs get Barrels instead of Chests! ```
Then, give players the permission: `safechest.group.vip`
> 💡 Players are assigned to the first group they have permission for.
🖋️ Customizing the Hologram & Death Message
In `config.yml`:
```yaml angelchest: hologram-text: "&a&l[SafeChest]&rn&b{player}n&7{items} items / {time}"
✅ NEW SECTION: HOLOGRAM ANIMATION
hologram-animation: enabled: true threshold-seconds: 10 # Start blinking when 10 seconds or less remain color-on: "RED" color-off: "YELLOW" blink-only-time-placeholder: true # Only blink the {time} part
death-message: enabled: true show-buttons: true show-button-tp: true show-button-fetch: false # Disable fetch globally show-button-preview: true ```
Placeholders (for `hologram-text`, `lang.yml`, and death message hovers): - `{player}` — Player’s name. - `{items}` — Total number of items in the chest. - `{time}` — Time remaining until expiration. - `{cost}` — Cost of the action (for death message hovers).
> ✅ Multi-line holograms are now fully supported and restored on server restart.
🎮 Customizing the Player Experience
In `config.yml`:
```yaml messages: use-action-bar: true # Show "Chest Created!" in action bar instead of chat use-particles: true particle-on-create: "HEART" particle-on-restore: "END_ROD"
✅ NEW SECTION: SOUNDS
sounds: enabled: true on-create: "ENTITY_PLAYER_LEVELUP" on-restore: "ENTITY_ENDERMAN_TELEPORT" on-teleport: "ENTITY_ENDERMAN_TELEPORT" on-expire: "ENTITY_ITEM_BREAK"
commands: preview-gui: title: "&6My Items - SafeChest" # Change the GUI title info-item-material: "BOOK" # Change the info item force-close-only-with-esc: true # Only close preview with ESC key
aclist: show-only-current-world: true # Only show chests in the player's current world sort-by-expiration: true # Show expiring chests first show-uuid-in-hover: false # Hide UUID (useful for debugging if true) ```
🛡️ Advanced Behavior Control
In `config.yml`:
```yaml behavior:
✅ RENAMED: From 'enabled-worlds' to 'disabled-worlds'
disabled-worlds: ["world_the_end"] # Disable plugin in The End protect-from-entity-explosions: true # Protect from Creepers protect-from-block-explosions: false # Allow TNT to destroy chests force-clear-drops-on-death: true # Fix double-drop bug ```
---
💰 3. Economy Setup
SafeChest integrates with Vault. Make sure you have a compatible economy plugin installed (e.g., EssentialsX, CMI).
💵 Charging for Commands
In `groups.yml` or `config.yml`, set prices:
```yaml price-teleport: 50.0 price-fetch: 100.0 ```
Players will be charged automatically when using `/sctp` or `/scfetch`.
> ✅ If Vault is not installed, these features are silently disabled — no errors. (`softdepend: [Vault]`).
---
🔄 4. Reloading Configurations
As an admin, you can reload all configurations without restarting the server:
```bash /safechestreload ```
Required Permission: `safechest.reload`
This command: - Reloads `config.yml`, `groups.yml`, and `lang.yml`. - Clears expired chests from cache. - Reinitializes the plugin container. - Does NOT break active chests or holograms.
> 🚫 Warning: Avoid using `/reload` during heavy server activity. `/safechestreload` is much safer.
---
🛡️ 5. Permissions (Renamed!)
| Permission | Description | Default | |------------|-------------|---------| | `safechest.use` | Allows using the Death Chest system | `true` | | `safechest.protect` | Allows protecting your chest from others | `true` | | `safechest.protect.ignore` | Allows opening SafeChests protected of other players | `op` | | `safechest.tp` | Allows using `/sctp` | `true` | | `safechest.fetch` | Allows using `/scfetch` | `true` | | `safechest.group.<name>` | Assigns player to a group (e.g., `safechest.group.vip`) | — | | `safechest.reload` | Allows using `/safechestreload` | `op` | | `safechest.admin` | ✅ NEW: Allows using `/safechestadmin` | `op` |
> ✅ Use LuckPerms, PermissionsEx, or any other permission manager to assign these.
---
❓ 6. FAQ & Troubleshooting — v0.0.5
NOT A: Make sure you have permission `safechest.use`. Also, check if the world is NOT listed in `behavior.disabled-worlds` in `config.yml`.
Fixed in v0.0.3 and perfected in v0.0.5! A: Fixed in v0.0.3 and perfected in v0.0.5! Holograms are now automatically restored and their timers are restarted on server start. If they’re still missing, check server logs for errors.
Q: I get “Initializing... try again later”. A: The database is still loading. Wait a few seconds and try again.
Q: Can I change the chest to a Barrel or Shulker Box? A: Yes! In `config.yml`, set globally: ```yaml material: "BARREL" ``` Or per-group in `groups.yml`: ```yaml vip: material: "SHULKER_BOX" ```
Q: How do I disable the death message buttons? A: In `config.yml`, set `death-message.show-buttons: false`, or disable individual buttons like `show-button-fetch: false`.
Q: My players are complaining about double drops! A: Enable `behavior.force-clear-drops-on-death: true` in `config.yml` to fix this.
Q: How do I make `/sctp` work even if there’s no “safe spot”? A: Set `commands.teleport-unsafe-behavior: "force"` in `config.yml`.
rename your database table A: rename your database table You must rename your database table from `angelchests` to `safechests` before starting the server. Also, update all permissions and commands from `angelchest` to `safechest`.
Q: How do I see server stats? A: Use the new admin command: `/safechestadmin stats`.
Q: How do I delete a specific chest? A: Use `/safechestadmin delete <uuid>`. You can find the UUID via `/safechestadmin inspect <player>`.
---