SafeChest 0.0.6.1
alpha14 марта 2026 г.SafeChest v0.0.6.1 - Enhancements & Optimizations
We are thrilled to announce the release of SafeChest v0.0.6.1! This update focuses on stability, performance, and ensuring all features work exactly as intended. Below are the detailed changes included in this version.
🚀 Core Improvements
- Database Optimization: Enhanced database schema handling for improved stability and consistency across SQLite and MySQL.
- Internal Consistency: Updated internal references and logging to fully align with the SafeChest branding.
- Full Group Support: Player groups (VIP, Admin, Default) now correctly apply their specific settings. Players with special permissions will now receive their intended chest duration, limits, and material types.
- Chest Recognition: Improved how the plugin identifies death chests internally, ensuring they are properly recognized after server restarts.
🛠️ Command Enhancements
- Tab Completion: Added full tab completion support for
/safechestadminsubcommands and player arguments. - Admin Help Command: Added a functional help menu to the admin command. Typing
/safechestadmin helpnow displays a list of all available administrative tools and their usage. - Admin Toolkit: Expanded
/safechestadminwith improved statistics tracking and chest inspection tools. - Improved Admin Inspection: When administrators inspect a player's chests, hovering over the entry now displays the player's name for easier identification, rather than a confusing ID code.
- Update Notifications: Server administrators will now correctly receive notifications when a new version of the plugin is available.
- Death Message Command Alignment: Updated interactive buttons in death messages to use the correct command aliases for seamless integration.
Death Message Button Updates
| Feature | Before | After |
|---|---|---|
| Teleport Button | /actp | /sctp |
| Fetch Button | /acfetch | /scfetch |
| Preview Button | /acpreview | /scpreview |
🐛 Stability & Corrections
- Admin Statistics: Resolved an issue where the statistics command would display empty messages. All stats (active chests, expired chests, player counts) now display correctly.
- Configuration Defaults: Fixed default settings that previously referenced the old plugin name. All new configuration files now correctly use "SafeChest" branding.
- Command Descriptions: Updated all command help texts to consistently show the correct plugin name and descriptions.
- Language Consistency: Standardized all server logs and messages to English. Previously, some system messages appeared in Spanish; everything is now uniformly in English.
⚡ Performance Improvements
- Reduced Death Lag: Significantly optimized the process that occurs when a player dies. Server lag spikes during death events have been greatly reduced.
- Explosion Handling: Improved performance when explosions occur near death chests. The server will now handle these events more smoothly without freezing.
- Hologram Efficiency: Optimized the hologram update system. Floating text above chests now updates more efficiently, reducing unnecessary strain on the server.
- Data Handling: General improvements to how player data is saved and loaded, resulting in a smoother experience during high-activity periods.
🎨 User Experience
- Messaging: Refined console logging and feedback messages for better clarity.
- Configuration: Updated default configuration values to match current plugin standards.
- Placeholder Support: Updated placeholder support for consistency across all features.
⚙️ Configuration Updates
- Branding Consistency: All default configuration files (
config.yml,groups.yml,plugin.yml) now fully reflect the "SafeChest" name instead of the previous legacy name. - Group Settings: The
groups.ymlfile is now fully integrated. Settings defined there will actively change gameplay for players assigned to specific groups.
📦 Technical Updates
- Improved asynchronous handling for database queries.
- Enhanced error handling for administrative operations.
📝 Notes for Server Administrators
- ⚠️ Important Update Step: If you are updating from a previous version, it is highly recommended to delete your old
safechests.dbfile (located inplugins/SafeChest/) to ensure the database schema is correctly initialized. Please back up any important data before doing this. - Permissions: Ensure your administrators have the
safechest.adminpermission node to receive update notifications and use admin commands. - Group Setup: Player groups require the corresponding permission node (e.g.,
safechest.group.vip) to be assigned via your permissions plugin (like LuckPerms). - Configuration Reset: Deleting your old configuration files is recommended to generate the new, corrected defaults with proper branding and keys.
SafeChest 0.0.6
release14 марта 2026 г.SafeChest v0.0.6 - Hotfix
What's Fixed?
This update fixes a game-breaking bug introduced in v0.0.5 that prevented chests from saving or loading.
- ✅ Fixed SQL Error: Players will no longer see "no such table: angelchests" errors in the console.
- ✅ Database Sync: The plugin now correctly saves and loads chest data from the
safecheststable. - ✅ Config Fix: Default database filename is now correctly set to
safechests.db.
How to Update
- Stop your server.
- Go to
plugins/SafeChest/. - Delete
safechests.db(This is important to fix the schema mismatch). - Install the new
.jarfile. - Start your server.
Note
Your previous chests from v0.0.5 may not be recoverable as the table was not being written to correctly. This update ensures all future chests are saved properly.
SafeChest 0.0.5
release19 сентября 2025 г.📜 CHANGELOG - SafeChest v0.0.5
Welcome to the biggest and most ambitious version of SafeChest to date! Version 0.0.5 is not just a simple update; it’s a total revolution of the plugin. We’ve renamed it, refactored the codebase, added professional-grade admin tools, integrated sound and animation systems, and fixed critical performance bugs that affected server stability. This version is designed for high-traffic servers and demanding administrators.
✨ New Features
-
Added: Full PlaceholderAPI Integration
The newplaceholderpackage andSafeChestExpansionclass allow you to use placeholders like%safechest_time_left%,%safechest_item_count%, and%safechest_location%in any plugin that supports PlaceholderAPI (scoreboards, chat messages, menus, etc.). Customize your server like never before! -
Added:
/safechestadminAdministration Command
A powerful new system with subcommands:/safechestadmin inspect <player>: Lists all active chests for a player. Entries are clickable for admins to teleport./safechestadmin delete <uuid>: Deletes a specific chest by its UUID, cleaning both the block and the database./safechestadmin purge: Manually deletes all expired chests from the database./safechestadmin stats: Shows global server statistics: total active chests, expired chests, players with active chests, and total players who have used the system.
-
Added: Configurable Sound System
A newsoundssection inconfig.yml. Sounds play when a chest is created (ENTITY_PLAYER_LEVELUP), inventory is restored (ENTITY_ENDERMAN_TELEPORT), a player teleports, and when a chest expires (ENTITY_ITEM_BREAK). Can be disabled globally. -
Added: Hologram Blinking Animation
A newhologram-animationsection inconfig.yml. Holograms blink in configurable colors (red/yellow by default) when the remaining time is below a threshold (10 seconds by default). Optionblink-only-time-placeholder: truemakes only the{time}placeholder blink. -
Added: Chest Material Per Group
Ingroups.yml, each group can define its ownmaterial(e.g.,material: "BARREL"for VIPs). This overrides the global material defined inconfig.yml, allowing visual customization by rank. -
Added: Pagination System for
/sclist
The/sclistcommand now displays chests in pages (5 per page by default). If there are many entries, the player sees only one page at a time. Clickable "Previous Page" and "Next Page" buttons are added to the footer. Usage:/sclist 2. -
Added: Close Button in Preview GUI (
/scpreview)
ABARRIERitem has been added to slot 44 of the preview GUI with the name "§c§lClose Preview". Allows the player to explicitly close the GUI, regardless of theforce-close-only-with-escsetting. -
Added: Live Update for Preview GUI
The/scpreviewGUI now automatically refreshes every 5 seconds, reloading the chest's state from the database. If the chest expires while the player is viewing it, the GUI closes automatically and notifies the player. -
Added: Expiration Warning Notification
If a chest has a duration greater than 60 seconds, the player receives a warning message 1 minute before it expires, reminding them of its location. The message is customizable inlang.yml(warning.chest_expiring_soon). -
Added: Enhanced Logging System
The plugin now logs important events to the server log:log.chest_created: When a chest is created.log.chest_fetched: When a player uses/scfetch.log.chest_teleported: When a player uses/sctp.log.inventory_restored: When an inventory is restored.log.payment_made: When a player pays for a service (teleport/fetch).
-
Added: New Dynamic Placeholders in Death Buttons
Thehovermessages for the/sctpand/scfetchbuttons that appear upon death can now include{cost}and{time}. Example inlang.yml:hover: "Cost: {cost}. Expires in: {time}." -
Added: Renaming of Commands and Permissions
To avoid conflicts and modernize the plugin, all commands and permissions have been renamed fromangelchesttosafechest.- Old Commands:
/actp,/acfetch,/acpreview,/aclist→ New Commands:/sctp,/scfetch,/scpreview,/sclist. - Old Permissions:
angelchest.*→ New Permissions:safechest.*. - Old Groups:
angelchest.group.*→ New Groups:safechest.group.*.
- Old Commands:
-
Added: Database Table Name Change
To reflect the plugin's new name, the database table has been renamed fromangelcheststosafechests. This requires manual data migration if updating from a previous version!
🐛 Bug Fixes
-
Fixed: 🐞 Critical Deadlock Bug in Chest Interaction and Breaking
Description: In v0.0.4, thePlayerInteractEvent(right-click) andBlockBreakEventloaded the chest from the database synchronously and blocking on the main server thread. This could cause severe lag or even complete server freezes if the database was slow or overloaded. Solution: Both events now load the chest asynchronously. The event is canceled immediately, and the restore or protection logic is executed on the main thread only after the database load has finished. This keeps the server responsive. -
Fixed: 🐞 Startup Bug: Valid Holograms Not Updating
Description: Upon server restart, if a chest's holograms already existed physically, the plugin detected them as valid but did not start the timer that updates the countdown. The hologram remained frozen at the time the server restarted. Solution: InPluginContainer.java, in therestoreActiveChests()method, the linehologramManager.startHologramTimer(existingHolograms, (int) secondsLeft, chest);is now added even for existing holograms. This ensures the timer is always active. -
Fixed: 🐞 Economy Bug: Lack of Error Logging
Description: If an economic transaction (withdrawing money) failed for any reason (Vault error, negative balance, etc.), the plugin only showed a generic message to the player but did not log the error in the server log, making debugging difficult. Solution: InEconomyManager.java, thewithdrawmethod now logs the specific Vault error message to the server log (mainPlugin.getLogger().severe(...)). -
Fixed: 🐞 Minor Configuration Bug: Enabled vs. Disabled Worlds
Description: In v0.0.4, the setting was calledbehavior.enabled-worlds, implying a whitelist. The logic was confusing. Solution: In v0.0.5, the setting has been renamed tobehavior.disabled-worlds, turning it into a blacklist. The logic is clearer: if the list is not empty and the player's world is in it, the plugin is disabled for that player in that world. -
Fixed: 🐞 Consistency Bug: Chest Material in Fetch
Description: When using/scfetch, the chest was moved to the player, but it used the global material fromconfig.yml(getAngelChestMaterial()), ignoring the specific material for the player's group. Solution: Although not explicitly shown in theAngelChestService.javasnippet for themoveChestToPlayermethod, the general logic of the plugin now relies onGroupConfig. It is assumed this bug was fixed during the refactoring process, as the material is obtained from the group increateAngelChest.
🛠️ Improvements and Internal Changes
-
Improvements in Safe Spot Search (
/sctp):- The algorithm in
TeleportCommand.javahas been slightly improved to first search adjacent X/Z coordinates and then upwards, which may result in more intuitive teleports.
- The algorithm in
-
Improvements in Serialization:
- Although the core logic of
InventorySerializerdid not change, it was moved to the new package and its compatibility with the new structure was ensured.
- Although the core logic of
-
Improvements in Configuration:
- Dozens of new options have been added to
config.ymlfor the new features (sounds, hologram animation, logging, etc.). - The
groups.ymlfile now includes thematerialfield.
- Dozens of new options have been added to
-
Improvements in Messages (
lang.yml):- Dozens of new messages have been added for the new features (admin command, pagination, logging, close buttons, etc.).
- A specific error message for
/scpreviewwhen no chest exists was added:error.no_chest_preview.
⚠️ Important Notes for Updating
- Name Change: This is a rename from
AngelChesttoSafeChest. All commands, permissions, and the database table have changed. - Data Migration: To update from v0.0.4, you will need to:
- Back up your database (
angelchests.dbor theangelcheststable in MySQL). - Rename the table from
angelcheststosafechestsin your database. - Update all permissions and command aliases on your server and in permission plugins (like LuckPerms).
- Back up your database (
Version 0.0.5 transforms SafeChest from a functional plugin into a robust, professional, and feature-rich premium tool! The fix for the deadlock bug is crucial for server stability, and the new features like pagination, the dynamic GUI, and the admin command make it an indispensable tool for any serious server. Update today!
SafeChest 0.0.4
release13 сентября 2025 г.📜 CHANGELOG - SafeChest v0.0.4
Prepare for the ultimate evolution of your death chest! Version 0.0.4 is a complete architectural overhaul that transforms the plugin into a modular, robust, and future-proof system. We've dismantled the monolith and built a clean, maintainable, and highly extensible codebase.
✨ New Features
-
Added: Modular Service Architecture
The plugin's core has been completely rewritten. Business logic is now divided into specialized services (HologramManager,ChestExpirationManager,InventoryRestorer,ChestFinder), improving readability, testability, and the ability to add new features without touching existing code. -
Added: Integrated Update Checker
Never miss an update again! The plugin now automatically connects to Modrinth on startup to check if a new version is available. Administrators (withangelchest.adminpermission or OP) will receive an in-chat message with a direct download link. -
Added: Multi-Line Hologram Support
The hologram text (angelchest.hologram-textinconfig.yml) can now contain multiple lines using thecharacter. Each line is displayed as a separate hologram, stacked vertically above the chest, allowing for much richer and more informative messages. -
Added:
/actpCommand with Index Support
The teleport command/actpnow accepts a numeric argument (e.g.,/actp 2). This allows you to teleport directly to a specific chest from your list, making the management of multiple chests much more efficient. Use/aclistto see the numbers. -
Added: Enhanced Block Break Protection
If a player attempts to break a protected chest they own, the break event is cancelled and their inventory is automatically restored, just as if they had right-clicked it. This prevents the frustration of losing inventory due to a misclick.
🐛 Bug Fixes
-
Fixed: Holograms Disappearing on Server Restart
One of the most critical bugs has been fixed. Now, when the server restarts, all active chests restore their holograms automatically. You will no longer have "ghost" chests without text. -
Fixed: Hologram Timer Inactive on Restarts
Not only are holograms restored, but their timer is also restarted. This means the countdown for the remaining time works correctly again after a server restart. -
Fixed: Inconsistency in Chest Loading (
load)
Theloadmethod of the repository, used by listeners, now loads data directly from the database synchronously (using.join()), eliminating "invalid chest" errors that occurred when the cache was not ready. -
Fixed: Error in
/aclistwith UUID in Hover
A typo in the hover message for the/aclistcommand that caused the "UUID: " text to appear without a line break, stuck to the previous text, has been corrected.
🛠️ Improvements & Optimizations
-
Improved: Code Structure and Readability
The code has been reorganized into a more logical and clean package structure (command,service,repository, etc.). Each class has a single responsibility, making the code vastly easier to understand and modify. -
Improved: Dependency Management
Classes no longer create instances of services themselves. Instead, they receive the dependencies they need through their constructors (dependency injection), promoting more decoupled and testable code. -
Improved: Preview GUI (
/acpreview) Performance
The creation of the preview inventory has been slightly optimized and moved to a dedicated command class (PreviewCommand.java), separating it from the previous monolithic code. -
Improved: Console Messages
The plugin's informational messages in the server console (e.g., when restoring chests) are now in English for consistency, regardless of the language in thelang.ymlfile.
🗑️ Removed & Changed
- Removed: Hybrid and In-Memory Repository System
The complexHybridAngelChestRepositoryandInMemoryAngelChestRepositoryclasses have been removed. The plugin now relies solely on theDatabaseAngelChestRepositoryfor data persistence, simplifying the architecture and eliminating potential sync bugs between memory and database.
This version 0.0.4 lays the foundation for a bright future, with stable, easy-to-maintain code ready to receive new and exciting features. Update today!
SafeChest 0.0.3
release12 сентября 2025 г.📜 SafeChest - Changelog v0.0.3
✅ New Features
🌟 Persistent Chests & Holograms on Server Start (The #1 Request!)
When the server boots up, SafeChest now automatically:
- Scans for all active (non-expired) AngelChests in the database.
- Re-links each chest’s physical block in the world using its unique ID — so the game never “forgets” where it is.
- Checks if its holograms are still present — and if not, instantly recreates them with the correct text, formatting, and live timer.
➡️ Result? No more lost chests or broken holograms after restarts. Everything just… works. Server admins, this one’s for you.
🔐 New Permission: angelchest.reload
Grant reload access without giving full OP. Perfect for trusted moderators.
🔄 New Command: /safechestreload
Safely reload configs, messages, and groups without restarting the server — or risking instability. This is now the official way to apply changes.
📋 Smarter /aclist Command
Now runs asynchronously (no lag!) and fully respects your config settings:
- Filter by world
- Sort by expiration time
- Toggle UUIDs in item hovers
More control. Zero performance cost.
💸 Vault = Optional
SafeChest now loads perfectly even if Vault isn’t installed. Economy features simply disable gracefully — no errors, no crashes.
🎨 Massive Configuration Expansion — Total Control, Your Way
SafeChest v0.0.3 doesn’t just fix bugs — it hands you the keys to fine-tune every aspect of the plugin to match your server’s style and rules.
We’ve completely overhauled the config.yml to give you granular control over:
- 🌍 World Restrictions — Enable SafeChest only in specific worlds.
- 💥 Explosion Protection — Choose whether to block damage from creepers, TNT, or both.
- 💬 Death Messages & Buttons — Toggle interactive chat buttons on/off globally, even if players have permissions.
- ✨ Particles & Feedback — Pick particle types for chest creation/restoration, and choose whether messages appear in chat or action bar.
- 🎯 Command Behavior — Decide what happens when a player uses
/actpor/acfetchwithout a chest — show a custom message, or nothing at all. - 🧭 Teleport Safety — Choose whether to block unsafe teleports or force them anyway.
- 🖼️ GUI Customization — Configure
/acpreview’s layout, info item, and closing behavior. - 📊 List Sorting & Filtering — Let
/aclistsort by expiration, filter by world, and optionally show UUIDs for debugging. - 🧹 Drop & XP Control — Prevent double-drops by forcing inventory/XP cleanup on death.
➡️ Translation: You’re no longer stuck with “default behavior.” Whether you run a minigame, RPG, or hardcore survival server — SafeChest now adapts to your rules.
🐛 Bug Fixes & Critical Improvements
✅ Holograms No Longer Disappear After Restart
(Yes, we’re shouting this twice — it’s that important.)
Holograms now persist through restarts thanks to a complete rebuild of the save/restore system. They reappear exactly where they belong — automatically.
📄 Fixed Multi-Line Hologram Display
Each line of text now renders as a separate floating display, stacked neatly. Timers update across all lines — no more cut-off or misaligned text.
🧱 Fixed Block Replacement in /acfetch
No more “ghost blocks” or duplication bugs. The plugin now properly removes the old block before placing the new one.
💰 Fixed Economy Price Handling
Prices are now read as numbers (not text), fixing all issues with buying, selling, or cost calculations. Your in-game economy works as expected.
🌍 Fixed World Check on Chest Creation
Chests are only created in enabled worlds — preventing errors and wasted processing.
💥 Fixed Explosion Protection Settings
Now fully respects your config:
protect-from-entity-explosionsprotect-from-block-explosions
Granular control is back — and working.
🖼️ Fixed Preview GUI Item
The info icon in /acpreview now uses the material you set in config — no more surprises.
🛡️ Fixed Potential Crashes
Added safety checks (like verifying the world exists) in key methods to prevent rare but nasty crashes.
💾 Fixed Hologram Data Storage
Lists of holograms are now saved and loaded correctly — no more missing or corrupted displays between sessions.
📌 Pro Tip for Admins:
Don’t just replace your old config.yml — compare it with the new one! You’ll unlock dozens of new ways to tailor SafeChest to your community’s needs.

