PrivateChestFree
Chest protection plugin with anti-explosion and permission support.
PrivateChestFree
🔐 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
- Configurable Hopper Access: TNT, Creepers, and other explosions cannot destroy locked containers - Configurable Hopper Access: Blocks hoppers, droppers, and dispensers from bypassing security - Configurable Hopper Access: 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
- Permission-Based: Set a global limit for all container types - Permission-Based: 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 Floodgate 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
- SQLite: Simple file-based storage (default) - SQLite: Database storage for large servers with many locked containers
Key Settings
```yaml
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:
```java 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?
- Automatic Cleanup: Minimal server impact with efficient code - Automatic Cleanup: Works standalone, no other plugins required - Automatic Cleanup: Regular updates for new Minecraft versions - Automatic Cleanup: Bug fixes and new features based on community feedback - Automatic Cleanup: Switch between YAML and SQLite storage anytime - Automatic Cleanup: Orphaned data is cleaned automatically to maintain performance
---
📸 Screenshots
- https://imgur.com/j772ZCI - https://imgur.com/iIHmZKu - https://imgur.com/6CCrL16 - https://imgur.com/LZVsg5x
---
🎉 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!