Releases: joelra/private-chests
Release list
v1.3.0
v1.2.0
This release adds support for [public] protection signs.
What's new
- Added
[public]signs for protected containers - Public containers can be opened by anyone
- Public containers still keep protection against breaking, explosions, and fire
- Only the sign owner or an admin can edit or remove a public sign
- Added support for dormant protection signs so alternate signs do not activate automatically
- Added admin command filters for public/private protected containers
- Cleanup now removes stale dormant sign records as well as stale active lock records
Notes
- Hopper and automation behavior is unchanged for protected containers
- This release targets Minecraft 26.1.1
v1.1.1
Summary
Rewrites SignEditMixin for better mod compatibility, robustness, and correct environment scoping.
Changes
SignEditMixin.java
- Change mixin target from
ServerGamePacketListenerImpltoSignBlockEntity, injecting atHEADofupdateSignTextinstead of using a fragileINVOKE-before injection that captured local variables - Remove
@Shadow,LocalCapture.CAPTURE_FAILHARD, and all now-unneeded imports — the player,isFrontText, andfilteredLinesare all directly available as method parameters atHEAD - Add
instanceof ServerPlayerguard so the hook silently no-ops if somehow invoked outside a server context (e.g. future API changes)
private-chests.mixins.json
- Move
SignEditMixinfrom the sharedmixinsarray to theserverarray so it is never loaded on the client at all — the correct approach for a purely server-side mixin
Why
The original approach relied on LocalCapture.CAPTURE_FAILHARD to capture locals from inside ServerGamePacketListenerImpl.handleSignUpdate. This is brittle: any obfuscation or bytecode change in that method (or a conflicting mixin from another mod) can cause it to fail hard at startup. Targeting SignBlockEntity.updateSignText directly at HEAD requires no local capture and is far more stable across Minecraft versions and mod combinations.
v1.1.0
Private Chests v1.1.0
Adds support for Minecraft 26.1.1 on Fabric.
Highlights
- Ported the mod to Minecraft 26.1.1
- Updated the Fabric/Gradle setup for Minecraft 26.1's official-mappings runtime
- Updated saved-data handling for current Minecraft APIs
- Fixed owner ban checks for the new server API
- Confirmed the mod builds successfully for release
Requirements
- Minecraft 26.1.1
- Fabric Loader 0.18.5+
- Fabric API 0.145.2+26.1.1
- Java 25
Notes
- If you use Geyser or Floodgate, make sure you install versions compatible with Minecraft 26.1.1
v1.0.0
Private Chests v1.0.0
Initial release of Private Chests - a server-side chest and barrel protection mod using wall signs.
Features
Core Protection
- Lock chests and barrels with wall signs using [private] markers
- Multi-user access: add usernames on remaining sign lines (comma-separated or line-by-line)
- Two-sided sign support: use front and back for up to 7 additional usernames
- Automatic double chest handling and expansion protection
Comprehensive Security
- Prevents unauthorized container opening
- Blocks chest placement next to locked containers (non-owners)
- Prevents hopper placement and extraction
- Protects against TNT explosions, fire spread, and piston movement
- Owner and admin can break locked containers (auto-removes lock)
Server Tools
- Admin commands: /private_chests (alias: /pchests)
- List locks, view detailed info, unlock containers, search by area
- Configurable admin permission levels and display limits
- Timestamps tracking (creation and last update)
Cross-Platform
- Full Bedrock player support via Floodgate/Geyser
- Configurable username prefix handling
Requirements
- Minecraft 1.21.11
- Fabric Loader 0.18.4+
- Fabric API
- Java 21+
Installation
- Download private-chests-1.0.0.jar
- Place in your server's mods folder
- Start the server
- Configure in config/private-chests.json if needed
Known Issues
- Sign text may briefly disappear when unauthorized players attempt to break protected signs (left/right-click to restore)
- Items may temporarily appear to disappear when placing blocks near locked containers (interact with hotbar slot to restore)