▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/SafeChest
SafeChest

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.

170
0

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 /safechestadmin subcommands and player arguments.
  • Admin Help Command: Added a functional help menu to the admin command. Typing /safechestadmin help now displays a list of all available administrative tools and their usage.
  • Admin Toolkit: Expanded /safechestadmin with 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

FeatureBeforeAfter
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.yml file 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.db file (located in plugins/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.admin permission 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 safechests table.
  • ✅ Config Fix: Default database filename is now correctly set to safechests.db.

How to Update

  1. Stop your server.
  2. Go to plugins/SafeChest/.
  3. Delete safechests.db (This is important to fix the schema mismatch).
  4. Install the new .jar file.
  5. 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 new placeholder package and SafeChestExpansion class 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: /safechestadmin Administration 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 new sounds section in config.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 new hologram-animation section in config.yml. Holograms blink in configurable colors (red/yellow by default) when the remaining time is below a threshold (10 seconds by default). Option blink-only-time-placeholder: true makes only the {time} placeholder blink.

  • Added: Chest Material Per Group
    In groups.yml, each group can define its own material (e.g., material: "BARREL" for VIPs). This overrides the global material defined in config.yml, allowing visual customization by rank.

  • Added: Pagination System for /sclist
    The /sclist command 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)
    A BARRIER item 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 the force-close-only-with-esc setting.

  • Added: Live Update for Preview GUI
    The /scpreview GUI 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 in lang.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
    The hover messages for the /sctp and /scfetch buttons that appear upon death can now include {cost} and {time}. Example in lang.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 from angelchest to safechest.

    • Old Commands: /actp, /acfetch, /acpreview, /aclistNew Commands: /sctp, /scfetch, /scpreview, /sclist.
    • Old Permissions: angelchest.*New Permissions: safechest.*.
    • Old Groups: angelchest.group.*New Groups: safechest.group.*.
  • Added: Database Table Name Change
    To reflect the plugin's new name, the database table has been renamed from angelchests to safechests. 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, the PlayerInteractEvent (right-click) and BlockBreakEvent loaded 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: In PluginContainer.java, in the restoreActiveChests() method, the line hologramManager.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: In EconomyManager.java, the withdraw method 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 called behavior.enabled-worlds, implying a whitelist. The logic was confusing. Solution: In v0.0.5, the setting has been renamed to behavior.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 from config.yml (getAngelChestMaterial()), ignoring the specific material for the player's group. Solution: Although not explicitly shown in the AngelChestService.java snippet for the moveChestToPlayer method, the general logic of the plugin now relies on GroupConfig. It is assumed this bug was fixed during the refactoring process, as the material is obtained from the group in createAngelChest.


🛠️ Improvements and Internal Changes

  • Improvements in Safe Spot Search (/sctp):

    • The algorithm in TeleportCommand.java has been slightly improved to first search adjacent X/Z coordinates and then upwards, which may result in more intuitive teleports.
  • Improvements in Serialization:

    • Although the core logic of InventorySerializer did not change, it was moved to the new package and its compatibility with the new structure was ensured.
  • Improvements in Configuration:

    • Dozens of new options have been added to config.yml for the new features (sounds, hologram animation, logging, etc.).
    • The groups.yml file now includes the material field.
  • 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 /scpreview when no chest exists was added: error.no_chest_preview.

⚠️ Important Notes for Updating

  • Name Change: This is a rename from AngelChest to SafeChest. All commands, permissions, and the database table have changed.
  • Data Migration: To update from v0.0.4, you will need to:
    1. Back up your database (angelchests.db or the angelchests table in MySQL).
    2. Rename the table from angelchests to safechests in your database.
    3. Update all permissions and command aliases on your server and in permission plugins (like LuckPerms).

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 (with angelchest.admin permission or OP) will receive an in-chat message with a direct download link.

  • Added: Multi-Line Hologram Support
    The hologram text (angelchest.hologram-text in config.yml) can now contain multiple lines using the character. Each line is displayed as a separate hologram, stacked vertically above the chest, allowing for much richer and more informative messages.

  • Added: /actp Command with Index Support
    The teleport command /actp now 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 /aclist to 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)
    The load method 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 /aclist with UUID in Hover
    A typo in the hover message for the /aclist command 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 the lang.yml file.

🗑️ Removed & Changed

  • Removed: Hybrid and In-Memory Repository System
    The complex HybridAngelChestRepository and InMemoryAngelChestRepository classes have been removed. The plugin now relies solely on the DatabaseAngelChestRepository for 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:

  1. Scans for all active (non-expired) AngelChests in the database.
  2. Re-links each chest’s physical block in the world using its unique ID — so the game never “forgets” where it is.
  3. 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 /actp or /acfetch without 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 /aclist sort 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-explosions
  • protect-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.


Совместимость

Minecraft: Java Edition

1.21.x1.20.x1.19.x1.18.x1.17.x1.16.x1.15.x1.14.x

Платформы

Поддерживаемые окружения

Сервер

Детали

Лицензия:MIT
Опубликован:6 месяцев назад
Обновлён:1 неделю назад
Главная