File Details
chestlock999-1.0.1.jar
- R
- Nov 5, 2025
- 24.68 KB
- 67
- 1.21.10+11
File Name
chestlock999-1.0.1.jar
Supported Versions
- 1.21.5-Snapshot
- 1.21.10
- 1.21.9
- 1.21.8
- 1.21.7
- 1.21.6
- 1.21.5
- 1.21.4
- 1.21.3
- 1.21.2
- 1.21.1
- 1.21
### New Features
* **New Commands:**
* `/lock info`: Displays detailed information about a locked container, including its owner, creation date, trusted players, and trusted groups.
* `/lock list`: Provides a comprehensive list of all containers owned by the player, showing their location (X, Y, Z coordinates and world) and the date they were locked.
* `/lock transfer <player>`: Allows the owner of a locked container to transfer its ownership to another player. All existing trusted players and groups are preserved during the transfer.
* `/trustgroup <groupname>`: Enables the owner of a locked container to grant access to an entire group of players. Players belonging to the specified group (checked via Bukkit permissions: `chestlock999.group.<groupname>`) will be able to access the locked container.
* `/untrustgroup <groupname>`: Revokes access for a previously trusted group from a locked container.
* **Configuration Options (via `config.yml`):**
* `default-lock-on-place`: A boolean option (`true`/`false`) that, when enabled, automatically locks containers (e.g., chests, barrels) as soon as a player places them.
* `max-locks-per-player`: An integer setting that limits the total number of containers a single player can lock across the server.
* `notify-on-attempted-access`: A boolean option (`true`/`false`) that, when enabled, sends a notification message to the owner of a locked container if an unauthorized player attempts to access or interact with it.
* `lockable-blocks`: A list of block types (e.g., `CHEST`, `TRAPPED_CHEST`, `BARREL`, `SHULKER_BOX`) that the plugin recognizes as lockable. Only blocks specified in this list can be locked by players.
### Improvements
* **Enhanced Lock Protection:**
* **Interaction Prevention:** Locked blocks can no longer be opened, activated (e.g., levers, buttons), or otherwise interacted with by unauthorized players. This applies to all blocks defined as `lockable-blocks` and currently locked.
* **Break Prevention:** Unauthorized players are now prevented from breaking any locked block.
* **Explosion Resistance:** Locked blocks are now immune to destruction from explosions (e.g., TNT, creeper explosions).
* **Piston Immunity:** Locked blocks cannot be pushed or pulled by pistons, ensuring their immobility and security.
* **Group-Based Permissions:** Introduced the ability to trust entire groups of players to a locked container, simplifying access management for teams or factions.
* **Improved Error Handling & User Feedback:** Enhanced messages to players for various scenarios, such as attempting to lock an un-lockable block, reaching the lock limit, or trying to access a locked container.
### Bug Fixes
* **Deprecated Method Usage:** Replaced `player.getTargetBlock(null, 5)` with the modern `player.getTargetBlockExact(5)` in `LockCommand` and `UnlockCommand` to ensure compatibility and best practices.
* **`ConcurrentModificationException` Prevention:** Addressed a potential `ConcurrentModificationException` in `LockManager`'s `trust` and `untrust` methods by safely iterating over a copy of the lock collection.
* **Robust Player Checks:** Improved checks for `OfflinePlayer` instances in `trust` and `untrust` commands to ensure that only players who have previously joined the server can be trusted or untrusted, preventing issues with non-existent player data.
* **Correct Lock Transfer Logic:** Fixed the `/lock transfer` command to correctly preserve all existing trusted players and groups when transferring ownership of a lock, ensuring no data loss during the process.

