PrivateChestFree

Chest protection plugin with anti-explosion and permission support.

1,56k

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!

ADS