HomeJavaModsLockTight
LockTight
ModsJava

LockTight

by MightyFinger77 · on Modrinth

A Minecraft plugin that provides comprehensive chest locking, protection, and management features with GriefDefender & Vault integration.

⬇ Download on Modrinth

Locktight - Advanced Chest Protection & Security System

Locktight transforms chest security from a simple protection mechanism into an engaging, strategic gameplay element that enhances both security-focused and raid-style server experiences.

Folia: Support for Folia is still developmental—it may have rough edges or issues not seen on single-region Paper. Use Paper when you can; try Folia when you need regionized scheduling and report problems so they can be fixed.

IF YOU RUN INTO ISSUES, BE SURE YOU ARE RUNNING THE LATEST BUILD FIRST, THEN REPORT THE ISSUE IN #PLUGIN-HELP IN THE DISCORD.

NOTE: IF EXPERIENCING PERFORMANCE ISSUES BECAUSE OF LOCKTIGHT, USE LATEST RELEASE. VERSIONS ALPHA 1.0.4 - 1.0.9 HAD KNOWN PERFORMANCE ISSUES DUE TO HOPPER HEAVY TASKS. Be wary of hopper heavy bases, due to the logic that prevents hoppers stealing from locked chests. Tests show new logic as of A1.1.0 to be 94% more efficient in terms of server thread usage. Please report any issues in the provided Discord channel for support.

Platform: Locktight is built for Paper (and Folia) using the Paper API. Plain Spigot is not supported. Use a current Paper (or Folia) build for your Minecraft version.

Overview

Locktight is a comprehensive chest protection plugin designed to provide an additional layer of security for chests within land claims while maintaining flexibility for various server types. Perfect for both claim-based and raid-style servers, Locktight offers sophisticated chest locking mechanisms, configurable trust systems, and an engaging lockpicking gameplay element.

How to Use

⚙️ Configuration

Main Configuration (config.yml)

The file shipped with the plugin is authoritative. Below is the current layout (values match the default config.yml in the JAR; yours may differ after edits).

# Full banner header is in the JAR’s config.yml — Paper & Folia, by MightyFinger77
# config_version — used for migrations. Do not change unless you know the drill.
config_version: 5

# General Settings
general:
  auto_lock_on_place: false # EXPERIMENTAL — enable at your own risk
  check_updates: true
  close_gui_after_purchase: false
  chest_lock_expiration_days: 28
  chest_lock_cleanup_interval_hours: 6
  debug_enabled: false
  hopper_debug: false

lockpicking:
  enabled: true
  temporary_access_seconds: 30
  success_rates:
    weak: 0.005
    medium: 0.05
    advanced: 0.1
    professional: 0.3
    mythical: 1.0
  alerts:
    enabled: true
    default_enabled: true
  allow_lockpicking_offline_players: true

# lock_tool.enabled — right-click toggle lock; left-click inspect (see config.yml in JAR)

lock_tool:
  enabled: true

reinforcement:
  enabled: true
  resistance_increase: 0.05
  max_reinforcements: 8
  attempts_per_degradation: 5

# griefdefender.block_lockpick_in_trusted_foreign_claim — optional: block lockpicking
#   for trusted non–claim-owners in that claim (default false). See full config.yml.
# ... world_blacklist, sound_effects, bypass_permission, griefdefender,
#     economy, performance — see full config.yml in plugins/Locktight/

Messages (messages.yml)

Customize all plugin messages, colors, and formatting.

GUI Configuration (gui.yml)

Configure shop slot layout, shop_rows (1–6 rows of 9 slots, default 5), display names, lore (including {weak_rate} placeholders), prices, optional integer custom model data, and the item: subsection used for purchased stack name/lore/rates.

For full custom items (resource packs, ItemsAdder/Nexo-style components, non-default materials), admins use /chest itemset; visuals come from the held item, while name and lore still follow gui.yml. Templates are stored in plugins/Locktight/item_templates.yml with a file header field templates_version (separate from Paper’s per-item schema_version inside serialized stacks).

Key Features

🛡️ Enhanced Claim Security

Locktight integrates seamlessly with GriefDefender to provide a second layer of protection beyond standard claim trusts. Players with claim access cannot automatically open locked chests unless explicitly trusted through the /chest trust command. This ensures that even trusted players must be specifically authorized for individual chest access. Optionally, griefdefender.block_lockpick_in_trusted_foreign_claim (default false) prevents lockpicking inside a claim by players who have GriefDefender trust there but are not the claim owner—useful so co-trusted players in one base cannot pick each other’s locks; claim group trust is included. Claim owners are not restricted by this setting.

🔐 Intelligent Chest Locking

🎯 Advanced Trust Management

Per-chest trust (/chest trust / untrust), bulk trust (/chest trustall / untrustall with optional radius), group trust with LuckPerms (/chest trustgroup / trustgroupall and untrust variants), and clear trusts (cleartrusts, cleartrustsgroups, cleartrustsboth). Owner locks are excluded from bulk/radius trust and must be trusted individually.

🎮 Engaging Lockpicking System

⚙️ Flexible Configuration

Server Types

🏰 Claim-Based Protection Servers

GriefDefender integration respects claim ownership and configurable trust levels so the right players can lock chests in their areas.

⚔️ Raid-Style Servers

Wilderness locking and lockpicking support raiding-oriented gameplay.

🔄 Hybrid Servers

Configure wilderness locking, claims, and shop/economy to match your mix of security and risk.

Technical Features

Benefits

🔑 Permissions & Commands

All permission nodes

Permission Description Default
locktight.use Lock, unlock, trust, inspect own chests, delete own chests true
locktight.shop Access the lockpick shop true
locktight.lockpick Use lockpicks on chests op
locktight.lockpickget Get lockpick items via command op
locktight.lockpickget.other Give lockpick items to other players op
locktight.itemset Save custom lockpick/reinforcement/lock-tool templates (/chest itemset) op
locktight.reload Reload plugin configuration op
locktight.cleanup Manually trigger chest lock expiration cleanup op
locktight.adminlock Create unpickable admin locks op
locktight.ownerlock Create owner locks (bypass/adminlock do not apply) op
locktight.bypass Bypass chest locks (except owner locks) and inspect/delete per rules op
locktight.update Manually check for plugin updates op
locktight.* Wildcard for all plugin features op

All commands

Command Description Permission
/chest lock Lock the container you’re looking at locktight.use
/chest unlock Unlock your locked container locktight.use
/chest trust <player> Trust a player on this chest locktight.use
/chest untrust <player|all> Untrust a player (or all) on this chest locktight.use
/chest trustall <player> [radius] Trust on all (or radius) of your chests; skips owner locks locktight.use
/chest untrustall <player> [radius] Untrust from all (or radius); skips owner locks locktight.use
/chest trustgroup <group> Trust a LuckPerms group on this chest locktight.use
/chest trustgroupall <group> Trust a group on all your chests; skips owner locks locktight.use
/chest untrustgroup / untrustgroupall Remove group trust locktight.use
/chest cleartrusts / cleartrustsgroups / cleartrustsboth Clear trusts on this chest locktight.use
/chest delete Delete chest data (either side of double chest) locktight.use / locktight.bypass (rules apply)
/chest inspect Inspect container locktight.use / locktight.bypass
/chest shop Open lockpick shop locktight.shop
/chest reload Reload configuration (including item_templates.yml) locktight.reload
/chest cleanup Clean expired locks locktight.cleanup
/chest lockpick [tier] Use lockpick on container locktight.lockpick
/chest lockpickget [tier] [qty] [player] Get lockpick/reinforcement items locktight.lockpickget
/chest itemset <tier|reinforcement|locktool> Save held item as shop template locktight.itemset
/chest itemset clear <tier|reinforcement|locktool> Remove saved template locktight.itemset
/chest adminlock Set admin lock locktight.adminlock
/chest olock Set owner lock locktight.ownerlock
/chest autolock Toggle auto-lock on place locktight.use
/chest alerts Toggle lockpick alerts locktight.use
/chest help [subcommand] Help
/chest bypass Toggle bypass mode locktight.bypass
/chest update Check for updates locktight.update

Permission logic notes


📋 TODO / future improvements

Planned features

Implemented (no longer TODO)

All suggestions welcome!

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more