PrivateChest - Complete Container Protection System
Lightweight yet powerful container protection with passwords, trust system, and cross-platform support

Overview
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 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
- Download the JAR and place it in your
/pluginsfolder - Start or reload your server
- Edit
config.ymlandmessages.ymlto customize - 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.
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
Plugin Statistics
Monitor anonymous usage statistics:
bStats - PrivateChest
Screenshots
Click to view 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!
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta