DeathChest999 1.0.6
on Oct 29, 2025Added
- Configuration Option To Put Players DeathChest In A Specific Location
- Configuration Option Of Whether Or Not It Costs Money To Open Your DeathChest
DeathChest999 1.0.5
on Oct 9, 2025- Implemented custom 54-slot death chest inventory.
- Implemented NBT tag for death chest identification.
- Ensured proper serialization and deserialization of
ItemStackobjects for persistent storage. - Added
/deathchest backcommand to teleport to the last death chest. - Added
deathchest.backpermission for the/deathchest backcommand. - Added coordinate display upon death and for the
/deathchest listcommand. - Refactored code into
ChestManager,PlayerDeathListener, andChestProtectListenerfor better organization. - Removed
InventoryManageras its functionality was integrated intoChestManagerandChestProtectListener.
DeathChest999 1.0.4
on Oct 1, 2025✅ 1. Chest Logging System Added
New file: deathchests.yml
Logs every death chest with:
Player UUID
Chest location(s)
Timestamp
Double chest flag
Status (active, expired, etc.)
Added method: logDeathChest(...)
Added method: updateDeathChestStatus(...)
✅ 2. Compass Support Added
Config option: enable-compass (default true)
New command: /dc999 compass
Gives the player a lodestone compass pointing to their last death chest
Only works if death location is known
✅ 3. Double Chest Handling Improved
Added logic to:
Check if a DoubleChest really formed
If not, fallback to two single chests
Delayed chest merging validation: 3L delay
Each single chest is now saved and removed separately if not merged
Fixed: Duplicate saveChest() call removed
✅ 4. Chest Restoration Improved
All chest chunks are now force-loaded before restoration
Second chest block now validated before placing
Inventory contents now handled safely:
Trims or pads to match correct chest size
Prevents IndexOutOfBoundsException
✅ 5. Better Chest Protection
Owner can open the chest immediately after death ✅
Others are blocked during lock period ✅
Interaction events now notify non-owners of remaining lock time via chat
✅ 6. Safer File I/O
Config saving is now done asynchronously:
saveConfigAsync() for chest.yml
saveDeathChestsConfigAsync() for deathchests.yml
Reduces potential lag or I/O blocking
✅ 7. Config Reload Expanded
/dc999 reload now also reloads:
chest.yml
deathchests.yml
Properly updates all internal variables (lifetime, lock time, compass)
✅ 8. Minor Fixes & Cleanup
Removed redundant import statements
Cleaned up null checks and warnings:
If world doesn’t exist in config, now logs a warning
Death location loading now warns on invalid or missing world
Prevents chest placement in non-air blocks (fails gracefully)
InventoryInteract events now only check "DeathChest" name (not material)
✅ 9. Command Help Improved
/dc999 now shows relevant command list based on compassEnabled
DeathChest999 1.0.3
on Sep 24, 2025✅ Bug Fixes
Fixed item duplication on death:
Moved event.getDrops().clear() to occur immediately after copying the drops, ensuring items no longer drop both on ground and in chest.
➕ New Features
Automatic double chest creation:
If there are too many items to fit in one chest, the plugin will now attempt to place a second chest adjacent to the first to form a double chest.
If no adjacent space is available, overflow items are dropped naturally.
Chest locking system:
Added lock timer (lock-duration) that prevents other players from opening a death chest for a set time.
Owners can access their chest immediately.
Non-owners are shown a countdown of remaining lock time if they try to open it early.
Owner tracking:
Each chest now saves the UUID of the player who died.
Used to enforce the locking mechanism per player.
Persistent lock + timestamp storage:
Death chests now store the time of creation (timestamp) to calculate remaining lock duration across server restarts.
Double chest restoration:
Both main and secondary chest locations are saved and restored if the plugin or server restarts before chest removal.
New commands:
/dc999 lock_duration <seconds> — Set how long chests remain locked to their owner (0 disables locking).
DeathChest999 1.0.2
on Aug 25, 2025Bug Fixes and Improvements
- Player vs Mob Death Handling Added explicit player instance check to prevent chests from spawning when mobs die Ensures the plugin only processes actual player death events
- Command Permission System Fixed broken permission logic that incorrectly allowed console access Now properly restricts commands to players only with appropriate permission checks
- Teleportation Safety Added success verification before removing death location data Death locations are now only cleared after confirmed successful teleportation
- Chest System Improvements Changed from unreliable double chest setup to single chest with custom identification Added custom name "DeathChest" to properly identify and track death chests Improved chest removal logic to only remove properly identified death chests
- Item Handling Enhancements Added comprehensive item restoration when chest creation fails Items are now properly dropped on ground if chest placement or serialization fails Improved overflow handling when chest inventory is full
- Configuration Management Added asynchronous configuration saving to prevent server lag Implemented proper YAML cleanup for expired chest entries Created reusable method for loading chest lifetime configuration
- Chunk Loading Optimization Made chunk loading asynchronous to prevent server performance issues Added safe chunk loading practices
- Chest Placement Safety Added block collision detection to prevent overwriting existing blocks Chests are now only placed in air blocks, with proper feedback to players
- Serialization Improvements Implemented safer ItemStack serialization with proper type checking Added error handling for serialization failures
- Code Cleanup Removed unused command registration for "deathchest999" Streamlined configuration reloading process Added proper error logging throughout the plugin
- Configuration Consistency Ensured chest lifetime configuration is properly loaded after reloads and changes Fixed configuration variable refresh after command executions
- Memory Management Added proper cleanup of expired chest data from configuration files Prevented configuration file size from growing indefinitely
DeathChest999 1.0.1
on Aug 21, 2025🐛 Critical Bug Fixes Location Object Modification Issue:
Resolved an issue where modifying the death location with an offset was causing incorrect path keys and behavior when managing chests. Incorrect Path Management for Chest Deletion:
Fixed the problem of deleting the wrong path from the configuration when removing chests after their expiration. BukkitRunnable Reference Crash:
Corrected the reference in the runTaskLater() method to ensure it points to the plugin class instead of the BukkitRunnable, preventing crashes. Null Pointer Exception Risks:
Added error handling to prevent potential null pointer exceptions when loading chest contents from the configuration, ensuring stability even with corrupted data. ✨ New Features & Improvements Auto-Clear Death Location on /back Command:
Implemented functionality to automatically clear a player's death location from memory and the configuration file after they teleport back to it. Enhanced Double Chest Implementation:
Improved the handling of double chests to ensure proper placement and management without affecting the original death location. Comprehensive Error Handling:
Introduced try-catch blocks for file operations and added null checks throughout the codebase to enhance robustness and prevent crashes. Improved Configuration Management:
Ensured that the chest.yml file is automatically created if it doesn't exist, and improved the saving and loading of death locations to persist across server restarts. 🔧 Technical Improvements Memory Management:
Enhanced the handling of player UUIDs for storing death locations, ensuring efficient memory usage and retrieval.
DeathChests999 V1.0
on Jul 25, 2025the first release



