Список изменений
📜 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!

