LockTight icon

LockTight -----

A Minecraft plugin that provides chest locking, protection, and lockpicking features




## [1.1.6-Dev2b] - 2026-03-16

**_NOTE: DEV BUILDS ARE STILL BEING TESTED AND MAY BE UNSTABLE, PLEASE REPORT ANY BUGS IN THE PROVIDED DISCORD CHANNEL. USE AT YOUR OWN RISK_**

### Added
- **Copper chests, barrels, and shulker boxes** can now be locked like regular chests. Double copper chests are handled the same as double chests (both sides locked together, partner lookup for trust/cleanup). Copper golems can still access locked chests and copper chests (only hoppers are blocked from extracting; golems are not).

### Changed
- **Config update** Updated general.chest_lock_expiration_days default to 28 in config.yml and added some cool yaml art :p
----------, Mar 17, 2026

## [1.1.6-Dev2a] - 2026-03-14

**_ NOTE: DEV BUILDS ARE STILL BEING TESTED AND MAY BE UNSTABLE, PLEASE REPORT ANY BUGS IN THE PROVIDED DISCORD CHANNEL. USE AT YOUR OWN RISK_**

### Fixed
- Plugin no longer crashes on enable when LuckPerms is not installed (e.g. 1.21.x)
- Clearer message when Vault is present but no economy plugin has registered
----------, Mar 14, 2026

## [1.1.6-Dev1b] - 2026-03-01

**_NOTE: DEV BUILDS ARE STILL BEING TESTED AND MAY BE UNSTABLE, PLEASE REPORT ANY BUGS IN THE PROVIDED DISCORD CHANNEL. USE AT YOUR OWN RISK_**

### Added
- **Trustall/Untrustall radius**: Optional `[radius]` argument for `/chest trustall <player> [radius]` and `/chest untrustall <player> [radius]`. When radius is given (1–100), only locked chests you own within that many blocks of your position (same world) are affected

### Changed
- **Admin lock access**: `locktight.adminlock` permission now grants access to admin-locked chests (open and break). Players with this permission can open and break chests that have an admin lock, without needing full bypass
----------, Mar 2, 2026

## [1.1.6-Dev1a] - 2026-1-10

**NOTE: DEV BUILDS ARE STILL BEING TESTED AND MAY BE UNSTABLE, PLEASE REPORT ANY BUGS IN THE PROVIDED DISCORD CHANNEL. USE AT YOUR OWN RISK**

### Added
- **Resource Pack Model Support**: Added `model:` option to GUI shop items configuration for custom resource pack models (ItemsAdder, etc.). The model option accepts an integer value corresponding to the custom model data in your resource pack's JSON model files
- **Admin Bypass Toggle**: New `/chest bypass` command allows admins with `locktight.bypass` permission to toggle their bypass on/off. When disabled, admins are restricted by chest locks like regular players, allowing them to play normally without accessing other players' chests
----------, Jan 10, 2026

## [1.1.5] - 2025-12-19

### Fixed

- **Tab Completion Performance**: Fixed TPS drops caused by tab completion for chest trust subcommands. Offline player names are now loaded asynchronously and cached, refreshing every 5 minutes. Tab completion remains fast and responsive while still including offline players.
----------, Dec 23, 2025

## [1.1.4] - 2025-12-18

### Added

- **Bulk Trust Commands**: `/chest trustall <player>` & `/chest untrustall <player>` to manage trust across all owned chests at once. `/chest untrust all` command removes trusts for all players/groups on all owned locks
- **LuckPerms Integration**: Group-based trust management with four new commands:
- `/chest trustgroup <group>` and `/chest trustgroupall <group>` - Trust all players in a LuckPerms group
- `/chest untrustgroup <group>` and `/chest untrustgroupall <group>` - Remove trust for all players in a group
- **Clear Trust Commands**: Three new commands to clear trusts from a targeted chest:
- `/chest cleartrusts` - Removes all player trusts from the chest you're looking at
- `/chest cleartrustsgroups` - Removes all group trusts from the chest you're looking at
- `/chest cleartrustsboth` - Removes all player and group trusts from the chest you're looking at
- **Admin Bypass for Trust Commands**: Players with `locktight.bypass` permission can now trust/untrust on any chest they're looking at, even if they don't own it
- **Inspection Enhancement**: `/chest inspect` now displays trusted groups in addition to trusted players
- **Per-Player Auto-Lock Toggle**: New `/chest autolock` command allows players to toggle auto-lock on place for themselves, regardless of the global config setting. Preferences are saved to the database and persist across server restarts and player disconnects/reconnects

### Changed
- **Breaking Protection**: Chests now remain unbreakable even after being unlocked with `/chest unlock`. Breaking protection is only removed when chest metadata is completely deleted (e.g., via `/chest delete`). This prevents accidental chest destruction while still allowing access when unlocked. This also applies to lockpicked chests - they remain protected from breaking
- Updated command usage and tab completion for new subcommands
- Updated `messages.yml` with new messages and bumped version string to 4
- Added LuckPerms as a soft dependency
- Changed `general.auto_lock_on_place` default value to `false`
- Database schema updated to store per-player auto-lock preferences in `alert_preferences` table

### Fixed
- Fixed bug where `/chest delete` command wouldn't properly delete both sides of double chests, it now removes all metadata completely
- Verified and ensured all double chest handling logic is consistently implemented across all database operations
- Fixed update checker to properly handle dev versions - dev builds with higher base versions no longer show false update alerts, and dev builds will be prompted to update when release versions of the same base version are published. Also added support for dev-to-dev version comparison (e.g., Dev1a → Dev1b, Dev3b → Dev4a)
- Fixed edge case sometimes prematurely closing lock cache cleanup causing SQLite "closed pointer" console error during expired chest lock cleanup
----------, Dec 19, 2025

[1.1.4-Dev4a] - 2025-12-14

**_NOTE: DEV BUILDS ARE STILL BEING TESTED AND MAY BE UNSTABLE, PLEASE REPORT ANY BUGS IN THE PROVIDED DISCORD CHANNEL. USE AT YOUR OWN RISK_**

Changed
- **Breaking Protection**: Chests now remain unbreakable even after being unlocked with `/chest unlock`. Breaking protection is only removed when chest metadata is completely deleted (e.g., via `/chest delete`). This prevents accidental chest destruction while still allowing access when unlocked.
----------, Dec 14, 2025

[1.1.4-Dev3b] - 2025-12-14


- Fixed edge case sometimes prematurely closing lock cache cleanup causing SQLite "closed pointer" console error during expired chest lock cleanup

**See Previous Dev version for the full changelog**
----------, Dec 14, 2025

[1.1.4-Dev3b] - 2025-12-14


- Fixed edge case sometimes prematurely closing lock cache cleanup causing SQLite "closed pointer" console error during expired chest lock cleanup

**See Previous Dev version for the full changelog**
----------, Dec 14, 2025

## [1.1.4] - 2025-12-14


*NOTE: DEV BUILDS ARE STILL BEING TESTED AND MAY BE UNSTABLE, PLEASE REPORT ANY BUGS IN THE PROVIDED DISCORD CHANNEL. USE AT YOUR OWN RISK*

### Added
- **Bulk Trust Commands**: `/chest trustall <player>` & `/chest untrustall <player>` to manage trust across all owned chests at once. `/chest untrust all` command removes trusts for all players/groups on all owned locks
- **LuckPerms Integration**: Group-based trust management with four new commands:
- `/chest trustgroup <group>` and `/chest trustgroupall <group>` - Trust all players in a LuckPerms group
- `/chest untrustgroup <group>` and `/chest untrustgroupall <group>` - Remove trust for all players in a group
- **Clear Trust Commands**: Three new commands to clear trusts from a targeted chest:
- `/chest cleartrusts` - Removes all player trusts from the chest you're looking at
- `/chest cleartrustsgroups` - Removes all group trusts from the chest you're looking at
- `/chest cleartrustsboth` - Removes all player and group trusts from the chest you're looking at
- **Admin Bypass for Trust Commands**: Players with `locktight.bypass` permission can now trust/untrust on any chest they're looking at, even if they don't own it
- **Inspection Enhancement**: `/chest inspect` now displays trusted groups in addition to trusted players


### Changed
- Updated command usage and tab completion for new subcommands
- Updated `messages.yml` with new messages and bumped version string
- Added LuckPerms as a soft dependency
- Changed general.auto_lock_on_place default value to 'false'


### Fixed
- Fixed bug where `/chest delete` command wouldn't properly delete both sides of double chests, it now removes all metadata completely
- Verified and ensured all double chest handling logic is consistently implemented across all database operations
- Fixed update checker to properly handle dev versions - dev builds with higher base versions no longer show false update alerts, and dev builds will be prompted to update when release versions of the same base version are published
- Fixed tab completion for LuckPerms group commands to properly suggest available groups
----------, Dec 14, 2025

## [1.1.3] - 12/7/2025

BETA RELEASE

### Added

- **Offline Player Protection**: Added `lockpicking.allow_lockpicking_offline_players` config option to prevent lockpicking of chests owned by offline players. When disabled, players cannot be robbed while offline.

### Fixed
- **Alerts Command**: Fixed `/chest alerts` command not being recognized as a valid subcommand
----------, Dec 7, 2025

## [1.1.2] - 2025-11-11

### Added

- **Separate Hopper Debug Option**: Added `hopper_debug` config option to control hopper-specific debug logging separately from general debug mode. This prevents hopper debug spam from flooding the console when general debug is enabled.
- **Config Versions**: Added version strings to .yml's to help with migration.

### Fixed
- **Config Migration Comments**: Fixed config migration to preserve comments when adding missing nested keys to existing sections.
----------, Nov 11, 2025

## [1.1.0] - 2025-11-02

MAJOR PERFORMANCE HOTFIX

### Added

- **Performance Optimization System**: In-memory cache for chest lock status to reduce database queries
- **Performance Configuration**: New `performance` section in config.yml with cache settings

### Changed
- **Database Connection**: Switched to persistent connection pool instead of creating new connections per query
- **SQLite Optimizations**: Enabled WAL mode and performance pragmas for better concurrency
- **Config Migration**: Automatic migration system adds missing config options when updating

### Fixed
- **Hopper Performance**: Eliminated severe server lag from hopper-heavy bases by caching lock status checks
----------, Nov 3, 2025

## [1.1.1] - 2025-11-02

### Fixed

- **Double Chest Breaking**: Fixed bug where breaking one side of a locked double chest would remove the lock from both sides, including the remaining single chest. Now only the side being broken has its lock removed, and the remaining single chest stays locked.
----------, Nov 3, 2025

## [1.0.9] - 2025-10-13

### Added

- **Version Support**: Added 1.20 support, Java target lowered to 17 for 1.20.x compatibility
- **Config Refactor**: Nested temporary access seconds under lockpicking, **delete config.yml and let it reload.**
----------, Oct 13, 2025

## [1.0.8] - 2025-01-27

- Configurable Item Types: Customize lockpick and reinforcement materials in `gui.yml`
- Configurable Glowing Effects: Toggle glowing enchantment per item tier
- Lockpick Tier Selection: `/chest lockpick [tier]` command with tab completion

If updating from a pervious version, delete gui and messages.yml and let them reload. DONT FORGET TO MAKE BACKUPS AND DO NOT DELETE THE DB FILE
----------, Oct 9, 2025

## [1.0.7] - 2025-09-29


### Added

- Update Checker
- update subcommand:
run /chest update to manually check for new versions on SpigotMC

Test of update checker
----------, Sep 29, 2025

## [1.0.6] - 2025-01-27

### Added

- **Auto-Lock Feature**: Chests are now automatically locked when placed by players (configurable)
- **Auto-Lock Configuration**: Added `general.auto_lock_on_place` config option (default: true)
- **Chest-break cleanup**: locks now are properly deleted and cleaned from the database when a locked chest is broken by the owner or admins

If updating from a previous version, delete the .yml files in the plugins/locktight/ directory and let them reload. **DO NOT DELETE DB FILE UNLESS YOU WANT TO WIPE LOCKS**
----------, Sep 28, 2025

## [1.0.5] - 2025-09-25

### Fixed

- **Double Chest Handling System**: Fixed critical bug where some critical features only applied to one chest side, not both sides of double chests

### Changed
- **Config Refactor**: Refactored configuration files, IF UPDATING FROM AN OLDER VERSION, DELETE CONFIG & MESSAGES.YML AND LET THEM RELOAD
- **Hopper Behavior**: Locked chests can now have items extracted from a locked chest using a hopper if the hopper is placed by the lock owner
- **Added More Detailed Debugging**: Hopper item passing debugging added
----------, Sep 26, 2025

## [1.0.4] - 2025-09-25

### Security

- **Hopper Protection**: Added hopper blocking system to prevent bypassing chest locks with hoppers

### Fixed
- **Expiration Timer Reset**: Fixed chest lock expiration to reset when players log in (was keeping old timer)

### Changed
- **Config Refactor**: Refactored configuration files, IF UPDATING FROM AN OLDER VERSION, DELETE CONFIG & MESSAGES.YML AND LET THEM RELOAD
----------, Sep 25, 2025

## [1.0.3] - 2025-09-23

### Fixed

- **Double Chest Reinforcement Inspection**: Fixed bug where inspecting the "other side" of a reinforced double chest would show "Reinforcements: None" even though the chest was reinforced

### Changed
- **Inspection Logic**: Chest inspection now checks both sides of a double chest for reinforcement data
- **Double Chest Support**: Added method to ChestCommand for consistent double chest handling
----------, Sep 24, 2025

**Lockpick Consumption Bug**: Fixed critical bug where using a mythic lockpick would consume a lower quality lockpick from an earlier hotbar slot instead of the actual mythic pick used
----------, Sep 21, 2025

Changelog
If updating from previous version delete config & messages.yml in plugin folder. Do not delete .db file!

Added:

  • Admins can now lock chests using the adminlock subcommand, this lock is unpickable
  • Lockpicking attempts and successes can be toggled on/off via alerts sub command
  • Refactor config.yml for more control over plugin behavior
    • added world blacklist option
    • sound effect control
    • toggle lockpicking feature
    • removed admin claim locking option (useless)
  • Refactor messages.yml
  • Admins can now use the lockpickget command to give lockpicks to others (locktight.lockpickget.other)
  • added lock reinforcement item to lockpickget command
  • lockpickget command now supports quantities
  • Users with .bypass permission have unexpirable locks (configurable)
Fixed:

  • Lockpicks being wasted/broken on admin chests
  • Lockpicking attempts on an already picked lock
  • better error handling
  • broken config implementations
  • GriefDefender integration configuration loading issues
  • Admin bypass permissions now work consistently across all features
----------, Aug 16, 2025

Resource Information
Author:
----------
Total Downloads: 463
First Release: Aug 14, 2025
Last Update: Mar 17, 2026
Category: ---------------
All-Time Rating:
1 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings