Перейти к содержимому
Mineforgian

PrivateChestFree

Chest protection plugin with anti-explosion and permission support.

Загрузки
2K
Подписчики
3
Обновлён
20 марта 2026 г.
Лицензия
All-Rights-Reserved

Опубликован 22 апреля 2025 г.

🔐 PrivateChest - Complete Container Protection System

PrivateChest is a lightweight yet powerful container protection plugin that lets players secure their chests, barrels, and shulker boxes with personal passwords. No complicated land-claim systems needed — just simple, secure, and optimized protection for survival servers, SMPs, and factions!


✨ Core Features

🔒 Password Protection System

  • Lock chests, trapped chests, barrels, and all 17 shulker box variants
  • Secure SHA-256 password encryption with salt
  • Only the owner can access protected containers
  • Automatic double chest detection and protection

🛡️ Advanced Security

  • Explosion Protection: TNT, Creepers, and other explosions cannot destroy locked containers
  • Hopper Protection: Blocks hoppers, droppers, and dispensers from bypassing security
  • Block Placement Protection: Prevents players from placing automated extraction blocks near protected containers
  • Configurable Hopper Access: Optional setting for servers that want automated sorting systems

🤝 Trust System

  • Share container access with other players without revealing your password
  • /trust <player> - Grant access to specific players
  • /trust list - View all trusted players
  • /untrust <player> - Remove access from a player
  • /untrust all - Remove all trusted players at once
  • Trusted players receive notifications when accessing shared containers

🏷️ Container Renaming

  • Give your locked containers custom names (up to 16 characters)
  • /renamecontainer <name> - Set a custom name
  • /renamecontainer remove - Remove custom name
  • Smart validation for name compatibility

📊 Flexible Limit System

  • Basic Limits: Set a global limit for all container types
  • Granular Limits: Configure different limits per container type (chests, barrels, shulker boxes)
  • Permission-Based: Fine-tune limits with permissions like privatechest.limit.chest.10
  • Unlimited option available for VIP players

🪧 Sign Protection (Alternative Method)

  • Lock containers by placing a sign with [Private] on the first line
  • No password required — ownership-based protection
  • Works alongside password protection

🌐 Cross-Platform Compatibility

Minecraft Versions

Supported: 1.16.5 → 1.21.x (and future updates)

Server Software

Standard (Single-threaded):

  • CraftBukkit, Spigot, Paper
  • Purpur, Pufferfish
  • Any Spigot/Paper fork

Regionized (Multi-threaded):

  • Folia, Luminol, LightingLuminol
  • LeafMC, Kaiiju
  • Any Folia-based fork

Bedrock Edition Support

  • Full compatibility via Geyser and Floodgate
  • Automatic detection of Bedrock players
  • Messages adapted for optimal display on each platform
  • Java and Bedrock players can seamlessly interact with the same protected containers

💬 Commands

Command Description Permission
/lockchest <password> Lock the container you're looking at privatechest.use
/unlockchest <password> Unlock your locked container privatechest.use
/trust <player> Give a player access to your containers privatechest.use
/trust list View your trusted players privatechest.use
/untrust <player> Remove a player's access privatechest.use
/untrust all Remove all trusted players privatechest.use
/renamecontainer <name> Set a custom name for a container privatechest.use
/renamecontainer remove Remove custom name privatechest.use
/privatechest reload Reload configuration and messages privatechest.admin
/clearchests Clean orphaned container data privatechest.admin

Aliases: /privatechest/pc, /renamecontainer/renamechest


🔐 Permissions

Basic Permissions

Permission Description Default
privatechest.use Use all player commands true
privatechest.admin Admin commands + bypass protection op

Limit Permissions (Examples)

Permission Description
privatechest.limit.unlimited Unlimited container locks
privatechest.limit.50 Lock up to 50 containers
privatechest.limit.chest.25 Lock up to 25 chests specifically
privatechest.limit.barrel.10 Lock up to 10 barrels specifically
privatechest.limit.shulker_box.5 Lock up to 5 shulker boxes specifically

⚙️ Configuration Highlights

Storage Options

  • YAML: Simple file-based storage (default)
  • SQLite: Database storage for large servers with many locked containers

Key Settings

# Storage system
storage-type: yaml  # or 'sqlite'

# Message prefix
use-prefix: true
prefix: "&7[&6PrivateChest&7] "

# Sign protection
enable-sign-protection: true

# Container limits
enable-chest-limits: false
default-chest-limit: 5

# Granular limits per container type
container-limits:
  enabled: false
  types:
    chest: 10
    barrel: 5
    shulker_box: 2

# Notifications
notify-owner-on-open: true
notify-admin-on-open: true
notify-trusted-on-open: true

# Auto-cleanup of orphaned data
auto-cleanup:
  periodic-enabled: true

# Hopper protection (configurable for sorting systems)
hopper-protection:
  allow-hopper-access: false  # true for automated systems

🧩 Developer API

PrivateChest offers a simple API for developers to integrate with protected containers:

import me.tuplugin.privatechest.api.PrivateChestAPI;

// Check if a block is locked
boolean isLocked = PrivateChestAPI.isLocked(block);

// Check if a player owns a block
boolean isOwner = PrivateChestAPI.isOwner(block, player);

// Lock a container programmatically
PrivateChestAPI.lockBlock(block, player, "password");

// Unlock a container
PrivateChestAPI.unlockBlock(block);

// Get the owner UUID
UUID owner = PrivateChestAPI.getOwner(block);

🛠️ Installation

  1. Download the JAR and place it in your /plugins folder
  2. Start or reload your server
  3. Edit config.yml and messages.yml to customize
  4. Done! All players can start protecting their containers

🌍 Multilingual Support

PrivateChest is fully translatable! Edit messages.yml and config.yml to translate all messages to any language. The default language is English, but you can easily adapt it to fit your server's style and community.


📊 Plugin Statistics

Monitor anonymous usage statistics: 🔗 bStats - PrivateChest


🔥 Why Choose PrivateChest?

  • Lightweight & Optimized: Minimal server impact with efficient code
  • No Dependencies: Works standalone, no other plugins required
  • Future-Proof: Regular updates for new Minecraft versions
  • Active Development: Bug fixes and new features based on community feedback
  • Easy Migration: Switch between YAML and SQLite storage anytime
  • Automatic Cleanup: Orphaned data is cleaned automatically to maintain performance

📸 Screenshots


🎉 Thank you for using PrivateChest!

If you enjoy the plugin, please leave a ⭐ rating and share your feedback!


✨ Looking for more power and features?

PrivateChest Plus is now available!

Unlock premium features including:

  • ✅ Shared chest access with advanced permissions
  • ✅ Timed auto-unlock
  • ✅ GUI-based lock system
  • ✅ Sounds and holograms
  • ✅ And much more...

Level up your server protection with PrivateChest Plus!

Ченджлог

2.3.1Релиз1.21.9, 1.21.10, 1.21.11 · 20 марта 2026 г.

📜 PrivateChest - Version 2.3.1 Release Notes

Release Date: 20/03/2026


[2.3.1] - 2026-03-20

Added

  • Granular Command Permissions

    • New individual permission nodes for each player command:
      • privatechest.lock — Controls access to /lockchest
      • privatechest.unlock — Controls access to /unlockchest
      • privatechest.trust — Controls access to /trust
      • privatechest.untrust — Controls access to /untrust
      • privatechest.rename — Controls access to /renamecontainer
      • privatechest.sign — Controls access to [Private] sign-based locking
    • privatechest.use now acts as a parent permission that grants all of the above
    • Server admins can now deny specific commands per player or group without affecting the rest
    • Sign protection (privatechest.sign) is independent from the command (privatechest.lock), so blocking /lockchest does not block [Private] signs
  • Shared Container Utility Class (ContainerUtils)

    • Centralized double chest detection, container validation, and location serialization
    • Eliminates code duplication across 6 files (listeners and commands)
    • Single source of truth for container logic — easier to maintain and less error-prone

Fixed

  • Explosion protection now covers both halves of double chests

    • Previously, if only one half of a double chest had the lock record, the other half could be destroyed by TNT/creepers
    • Both EntityExplodeEvent and BlockExplodeEvent now check all container parts
  • Sign protection now uses its own permission (privatechest.sign)

    • Previously shared permission with /lockchest, meaning blocking the command also blocked [Private] signs
    • Now uses a dedicated privatechest.sign permission, independent from privatechest.lock
  • Null safety in ChestLocker.serializeLocation()

    • Previously could throw NullPointerException if a world was unloaded
    • Now delegates to ContainerUtils.serializeLocation() with proper null checks
  • Sign-based protection password is now cryptographically secure

    • Previously used deterministic hashCode() based on player UUID and location (predictable)
    • Now uses SecureRandom to generate unpredictable 32-character hex passwords

Improved

  • Thread Safety

    • ChestLocker: chestOwners and chestPasswords maps changed from HashMap to ConcurrentHashMap
    • TrustManager: trustRelations map changed from HashMap to ConcurrentHashMap, inner sets use ConcurrentHashMap.newKeySet()
    • Prevents ConcurrentModificationException when async cleanup runs alongside main thread operations
  • Timing-safe password comparison

    • PasswordManager.verifyPassword() now uses MessageDigest.isEqual() instead of String.equals()
    • Prevents timing attacks that could leak password hash information

How Granular Permissions Work

  • By default, nothing changes for existing servers. privatechest.use still grants all commands.
  • To block a specific command, negate its permission in your permissions plugin:
    # LuckPerms example — block only /lockchest but keep [Private] signs working
    permissions:
      - privatechest.lock: false
    
  • The remaining commands will continue working normally.

Migration Notes

  • Fully backwards compatible — no configuration changes required
  • Existing permission setups using privatechest.use will continue to work identically
  • Thread safety improvements are transparent — no action needed

Compatibility

  • Minecraft 1.16.x – 1.21.11
  • Tested on Paper, Purpur, Pufferfish, and Spigot

Support & Feedback

Thank you for using PrivateChest!

2.3Релиз1.21.9, 1.21.10, 1.21.11 · 28 января 2026 г.

PrivateChest v2.3 - Changelog

Release Date: January 2026


New Features

Shulker Box Support

  • Lock all 17 shulker box variants (including colored ones)
  • Same protection as chests and barrels
  • Configurable limits per shulker box type

Expanded Server Compatibility

  • Full support for Folia and its forks (Luminol, LightingLuminol, LeafMC, Kaiiju)
  • Works on all major server software

Improved Bedrock Support

  • Better Geyser and Floodgate detection
  • Seamless experience for Bedrock Edition players

Compatibility

Minecraft: 1.16.5 - 1.21.x

Servers:

  • Spigot, Paper, Purpur, Pufferfish
  • Folia, Luminol, LightingLuminol, LeafMC, Kaiiju

Cross-Platform:

  • Java Edition
  • Bedrock Edition (via Geyser/Floodgate)

Bug Fixes

  • Fixed shulker boxes not being recognized as lockable containers
  • Improved password security handling

Migration

No action required. Update and enjoy the new features!

2.2Релиз1.21.8, 1.21.9, 1.21.10 · 1 декабря 2025 г.

📜 PrivateChest - Version 2.2 Release Notes

Release Date: December 1st, 2025


[2.2] - 2025-12-01

Added

  • Configurable Hopper Protection System
    • New hopper-protection.allow-hopper-access option in config.yml
    • Allows players to enable hopper access for automated sorting systems with locked containers
    • Includes comprehensive security warnings and documentation in configuration file
    • Default setting remains secure (false) - blocks all automated item movement

Improvements

  • Enhanced HopperProtectionListener with configurable behavior
  • Added detailed JavaDoc documentation for hopper protection logic
  • Improved security transparency with clear warnings about enabling hopper access

Configuration Changes

  • New section hopper-protection added to config.yml
    • allow-hopper-access: false (default - maximum security)
    • Detailed documentation on security implications and recommended use cases

Use Cases

This update is designed for:

  • Servers with automated sorting/storage systems
  • Private or trusted servers where theft is not a concern
  • Servers with additional claim/protection plugins

Security Notes

  • Default behavior unchanged: Hoppers remain blocked from protected containers
  • When enabled, ANY hopper can access locked containers (including those placed by other players)
  • Recommended only for trusted environments or servers with additional protection layers
  • Admin bypass permissions remain unaffected

Compatibility

  • Minecraft 1.16.x – 1.21.10
  • Tested on Paper, Purpur, Pufferfish, and Spigot

Installation & Configuration

  1. Update: Replace your old PrivateChest JAR with version 2.2
  2. Reload or Restart: Run /privatechest reload or restart your server
  3. Configure (Optional): Edit config.yml to enable hopper access if needed:
    hopper-protection:
      allow-hopper-access: true  # Set to true to enable
    

Known Issues

None reported for this version.


Support & Feedback

Thank you for using PrivateChest!

2.1Релиз1.21.6, 1.21.7, 1.21.8 · 31 августа 2025 г.

PrivateChest v2.1 - Major Update Release

🆕 What's New

🔒 Enhanced Security System

  • Complete Hopper Protection: Hoppers, droppers, and dispensers can no longer bypass chest protection
  • Block Placement Protection: Players cannot place blocks adjacent to protected containers to bypass security
  • Automatic Cleanup: Orphaned data from removed containers is automatically cleaned up to maintain performance

🏷️ Container Renaming System

  • Custom Names: Give your locked containers custom names up to 16 characters
  • Easy Commands: Use /renamecontainer <name> or /renamecontainer remove
  • Smart Validation: Names are automatically validated for compatibility

📊 Advanced Limit System

  • Container-Specific Limits: Set different limits for chests, barrels, and shulker boxes
  • Granular Permissions: Fine-tune exactly how many of each container type players can lock
  • Backward Compatible: Existing limit configurations continue to work unchanged

🌐 Cross-Platform Support

  • Bedrock Edition: Full compatibility with Bedrock Edition players via Floodgate/Geyser
  • Smart Messages: Messages automatically adapt for optimal display on each platform
  • Universal Access: Java and Bedrock players can seamlessly interact with the same protected containers

🚀 How to Install

  1. Stop your server
  2. Replace the old PrivateChest.jar with the new v2.1 file
  3. Start your server - all configurations will be automatically updated
  4. No data loss - all existing locked containers remain protected

⚙️ New Commands

  • /renamecontainer <name> - Set a custom name for the container you're looking at
  • /renamecontainer remove - Remove the custom name from a container

🔧 New Configuration Options

Add these to your config.yml if you want to customize the new features:

# Container-specific limits (optional)
container-limits:
  enabled: false  # Set to true to use granular limits
  types:
    chest: 10
    barrel: 5
    shulker_box: 2

# Automatic cleanup (enabled by default)
auto-cleanup:
  periodic-enabled: true

📋 New Permissions

  • privatechest.limit.chest.X - Allows locking X chests
  • privatechest.limit.barrel.X - Allows locking X barrels
  • privatechest.limit.shulker_box.X - Allows locking X shulker boxes

🔄 Compatibility

  • Minecraft: 1.16+ (Spigot/Paper)
  • Java: 8+
  • Bedrock: Supported via Floodgate/Geyser
  • Existing Data: Fully compatible - no migration needed

📝 Notes for Server Owners

  • All existing locked containers continue working without any changes
  • Configuration files are automatically updated while preserving your custom settings
  • The new features are optional - enable only what you need
  • Performance improvements through automatic cleanup system
  • Full backward compatibility with existing permissions and configurations

🐛 Bug Fixes

  • Fixed rare cases where hoppers could access protected containers
  • Improved double chest detection and protection
  • Enhanced permission checking for edge cases
  • Better error handling for corrupted data files

Download PrivateChest v2.1 and enjoy enhanced security with powerful new features! 🎉

2.0Релиз1.21.3, 1.21.4, 1.21.5 · 10 июня 2025 г.

🔐 PrivateChest 2.0 - Major Update!

🚀 What's New

🔒 Enhanced Security

  • Password Encryption: All passwords are now securely hashed using SHA-256 with salt. Your old passwords will work and be automatically upgraded when used.
  • Better Data Protection: Significantly improved security against potential data breaches.

👥 Trust System

  • Share Access Safely: Give other players access to your locked chests without sharing passwords
  • New Commands: /trust <player> and /untrust <player>
  • Easy Management: Use /trust list to see who you trust, /untrust all to remove everyone

📋 Sign Protection

  • Visual Locking: Place a sign with [Private] on the first line near your chest to lock it
  • No Commands Needed: Perfect for players who prefer visual interactions over typing commands
  • Break to Unlock: Simply break the sign to unlock your chest

📊 Chest Limits

  • Permission-Based Limits: Control how many chests players can lock based on their rank/permissions
  • Perfect for Economy Servers: Reward VIP players with more chest locks
  • Admin Control: Set custom limits from 1 to unlimited chests per player

⚡ Performance Improvements

  • SQLite Support: Optional database storage for servers with many locked chests (better performance)
  • Optimized Code: Faster chest interactions and reduced memory usage
  • Smart Caching: Improved response times for large servers

🔧 Developer API

  • Public API: Other plugins can now safely interact with PrivateChest
  • Better Integration: Perfect for custom plugins and advanced server setups

📥 Migration from v1.x

✅ Fully Automatic Migration

  • All your existing locked chests will continue working normally
  • Passwords are automatically upgraded to secure format when used
  • No manual configuration needed - just replace the plugin file
  • All new features are disabled by default for compatibility

Migration Steps:

  1. Backup your plugins/PrivateChest/ folder (recommended)
  2. Stop your server
  3. Replace the old PrivateChest.jar with v2.0.0
  4. Start your server
  5. Enable new features in config.yml if desired

⚙️ Configuration

New options in config.yml:

  • storage-type: yaml (or "sqlite" for better performance)
  • enable-sign-protection: true
  • enable-chest-limits: false
  • default-chest-limit: 5

🎯 Permission Examples

# Chest Limits (when enabled)
privatechest.limit.unlimited  # No limits
privatechest.limit.100        # Up to 100 chests
privatechest.limit.25         # Up to 25 chests
privatechest.limit.10         # Up to 10 chests
privatechest.limit.5          # Up to 5 chests

🐛 Bug Fixes

  • Fixed rare double chest synchronization issues
  • Improved hopper protection reliability
  • Better error handling for corrupted data
  • Enhanced explosion protection

🔥 This is our biggest update yet! 🔥

Perfect for survival servers, economy servers, and any server that wants secure, user-friendly chest protection!


Compatible with Minecraft 1.16.x - 1.21.5 | Tested on Paper, Purpur, Pufferfish

1.6.3Релиз1.21.3, 1.21.4, 1.21.5 · 23 мая 2025 г.

PrivateChest v1.6.3 - Changelog

This update focuses on fixing the long-standing double chest protection issue and brings several improvements to stability and usability.

🐛 Fixed

  • Critical Double Chest Bug: Resolved the major issue where only one half of a double chest (large chest) would be protected. Now, both halves are correctly identified and secured during locking, interaction (/unlockchest), block breaking, and hopper interactions. This ensures complete protection for double chests and barrels.

✨ Changed / Improved

  • Enhanced Hopper Protection: Hoppers are now reliably prevented from both pulling items from and pushing items into any protected container (single chests, double chests, barrels).
  • Corrected /clearchests Logic: The /clearchests command now functions as intended, specifically targeting and removing only "orphaned" entries from data.yml (protections for containers that no longer exist or are invalid). It no longer affects valid, existing protections.
  • Improved DataManager: Added more robust error handling and console logging when loading data.yml. This will help server administrators diagnose issues with corrupted or invalid location entries.
  • Auto-Updating messages.yml: The messages.yml file will now automatically add any new message keys from future plugin updates, preserving existing user customizations.
  • Refined Configuration Files: config.yml: Removed non-functional options (allow-double-chests, unlock-duration-seconds, allow-shared-access) to prevent confusion. Added clearer comments. messages.yml: Added new messages for recent changes, improved wording on existing ones, and added detailed comments to explain each message's purpose.
  • Updated plugin.yml: Corrected version number and added /pc as an alias for /privatechest.
  • Code Refinements: General internal code improvements for stability and maintainability.
1.6.2Релиз1.21.3, 1.21.4, 1.21.5 · 16 мая 2025 г.

📢 PrivateChest 1.6.2 – Hopper Exploit Patch & Full Container Protection

🛡️ New Protections:

  • 🚫 Hoppers can no longer extract items from any protected container.

  • 🔐 Applies not only to chests and barrels, but automatically supports any future container types added to PrivateChest (like furnaces, droppers, shulkers, etc.).

  • 🧠 Uses smart event handling via InventoryMoveItemEvent to detect and cancel unauthorized item transfers.

🔧 Technical Improvements:

Protection now checks container ownership via ChestLocker.isChestLocked(...), ensuring consistent behavior.

No performance impact; event runs only when hoppers are in use.

✅ Recommended For:

Any server using hoppers, redstone automation, or container protection systems.

Servers upgrading from 1.6.1 or earlier.

Thank you for using PrivateChest Free!

If you find the plugin helpful, please consider leaving a ⭐ review or joining our support community.

Support available in English and Spanish.

1.6.1Релиз1.21.3, 1.21.4, 1.21.5 · 14 мая 2025 г.

📢 PrivateChest 1.6.1 – Admin Bypass Fix

##🔧 Fixes:

  • ✅ Fixed: Admins with the privatechest.admin permission could not open locked chests they did not own.

  • 🔓 Admins can now access any protected chest without being the owner, as originally intended.

  • 🔔 Optionally shows a message when an admin accesses a chest (notify-admin-on-open in config).

🧰 Notes:

This fix improves the reliability of admin control over protected containers.

No changes were made to the core protection or chest data structure.

✅ Suggested for:

Server owners, admins, moderators, and anyone with admin permissions.

Thank you for using PrivateChest Free!

If you enjoy the plugin, consider leaving a review and reporting bugs or suggestions.

Support is available in English or Spanish. 💬

Комментарии

Загружаем…