Private Chests

Protect chests and barrels with wall signs! Add [private] to lock containers, list player names to share access. Blocks hoppers, explosions, and unauthorized opening. Server-side only.

859

Private Chests

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

- Sign protection - only the owner and listed players can open them - Sign protection - anyone can open them, but they stay protected - Sign protection - non-owners can't place chests next to protected containers - Sign protection - hoppers can't move items in or out of protected containers - Sign protection - TNT and creepers won't destroy protected containers - Sign protection - fire can't spread to protected containers - Sign protection - only the owner or admin can edit or break protection signs

🎮 Player-Friendly Features

- No player commands needed - automatically handles double chests - No player commands needed - owners can extend their single chest to double - No player commands needed - 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

1. Place a chest or barrel 2. Attach a wall sign 3. Write:

[private] PlayerName1 Player2, Player3

Only you and the listed players can open it.

Creating a Public Container

1. Place a chest or barrel 2. Attach a wall sign 3. 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 front or back - Marker is front or back - 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 (`private` or `public`) - 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`

```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

1. Download the mod JAR 2. Place it in your server's mods folder 3. Make sure Fabric API is also installed 4. Start the server 5. (Optional) adjust config/private-chests.json

ADS