Simple, powerful container protection for your Minecraft server. Protect chests and barrels using wall signs with [private] or [public]. No complicated setup - just place a
sign and your container is protected.
What Does This Mod Do?
Private Chests is a server-side Fabric mod that lets players protect chests and barrels from other players.
Attach a wall sign to a chest or barrel and write:
[private]to make it owner-only, with optional shared access[public]to let everyone open it while still keeping it protected from griefing
The mod handles protection automatically - blocking unauthorized access, preventing chest expansion exploits, stopping hopper theft, and protecting containers from explosions and fire.
Server-side only - no client mod required. Players can join with vanilla clients.
Features
🔒 Simple Sign-Based Protection
- Place a wall sign on any chest or barrel
- Write
[private]or[public]on line 1 [private]supports additional player names on the remaining lines- Supports comma-separated names:
Player1, Player2 - Use both sides of the sign
🛡️ Comprehensive Security
- Private containers - only the owner and listed players can open them
- Public containers - anyone can open them, but they stay protected
- Prevents chest expansion exploits - non-owners can't place chests next to protected containers
- Stops hopper theft - hoppers can't move items in or out of protected containers
- Explosion protection - TNT and creepers won't destroy protected containers
- Fire protection - fire can't spread to protected containers
- Sign protection - only the owner or admin can edit or break protection signs
🎮 Player-Friendly Features
- Double chest support - automatically handles double chests
- Owner expansion - owners can extend their single chest to double
- Easy removal - break your own protected chest/container directly (auto-removes protection)
- No player commands needed - players just use signs
🌍 Cross-Platform Compatible
- Full Bedrock support via Floodgate/Geyser
- Bedrock players can create and use protected containers
- Configurable username prefix for Bedrock players
⚙️ Admin Tools
Commands for server management:
/private_chests list/private_chests list public/private_chests list private/private_chests list_in_area [radius]/private_chests list_in_area [radius] public/private_chests list_in_area [radius] private/private_chests info <x> <y> <z>/private_chests unlock <x> <y> <z>/private_chests cleanup- Alias:
/pchests
How to Use
Creating a Private Container
- Place a chest or barrel
- Attach a wall sign
- Write:
[private] PlayerName1 Player2, Player3
Only you and the listed players can open it.
Creating a Public Container
- Place a chest or barrel
- Attach a wall sign
- Write:
[public]
Anyone can open it, but only the sign owner or an admin can manage the protection.
Sign Format Rules
[private]and[public]must be on line 1 only- Marker is case-insensitive
- Marker can be on the front or back
[private]allows usernames on the remaining lines- Owner automatically has access
Managing Protection
To edit access:
- Edit the sign text
- Only the owner or an admin can edit the active protection sign
To remove protection:
- Remove the protection marker from the active sign
- Or break your own protected chest/container directly
Dormant signs:
- If a protected container already has an active protection sign, extra
[private]or[public]signs do not take over automatically - They only become active later if the container is unprotected and the sign owner/admin reactivates them
Admin Commands
All commands require admin permission (configurable, default level 3).
/private_chests list
Shows protected containers across the server.
/private_chests list public
Shows only public protected containers.
/private_chests list private
Shows only private protected containers.
/private_chests list_in_area [radius]
Shows protected containers near your location.
/private_chests info <x> <y> <z>
Shows detailed information:
- Container type and location
- Owner name
- Protection mode (
privateorpublic) - Allowed players
- Creation timestamp
- Last updated timestamp
/private_chests unlock <x> <y> <z>
Forcibly removes protection from a container.
/private_chests cleanup
Removes stale active lock records and dormant sign records in loaded chunks.
Configuration
Config file: config/private-chests.json
{
"floodgatePrefix": ".",
"adminPermissionLevel": 3,
"maxLocksPerPlayer": 0,
"listMaxEntries": 50,
"listPreviewEntries": 20,
"disableProtectionIfOwnerBanned": true
}
| Option | Default | Description |
|---|---|---|
| floodgatePrefix | . | Prefix for Bedrock players (e.g., .BedrockPlayer) |
| adminPermissionLevel | 3 | Permission level to bypass locks (0-4) |
| maxLocksPerPlayer | 0 | Max protected containers per player; 0 = unlimited |
| listMaxEntries | 50 | Max locks in /list before abbreviating |
| listPreviewEntries | 20 | Number shown when abbreviated |
| disableProtectionIfOwnerBanned | true | Remove protection if owner is banned |
Invalid values are automatically corrected on startup.
Known Issues
Due to Minecraft client-side prediction, some minor visual glitches may occur.
Sign Text Disappearing
When unauthorized players try to break a protected sign:
- The sign remains intact on the server
- Text may temporarily disappear on the client
- Fix: left-click or right-click the sign to refresh it
Item "Disappearing" When Blocked
When trying to place blocks near protected containers:
- The placement is correctly blocked by the server
- The item may temporarily disappear from the hotbar
- Fix: switch to that slot or move the item
- The item is never actually lost
These are client-side visual issues only.
Technical Details
- Server-side only
- Persistent data stored in world/data/private-chests.dat
- Packet-level protection for sign breaking
- Efficient lookup and caching
- Supports Minecraft 26.1.1
Installation
Server Installation
- Download the mod JAR
- Place it in your server's mods folder
- Make sure Fabric API is also installed
- Start the server
- (Optional) adjust config/private-chests.json
