promotional bannermobile promotional banner

ChestLock999

Secure your valuables and prevent theft with ChestLock999, the essential plugin that turns any container into a personal, impenetrable vault.

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.