The Lightweight, Economy-Integrated Protection System ChestLocked is a modern, high-performance protection plugin designed for survival servers that want more than just "free" locks. It introduces a
Chest Tax and
Banking System, encouraging a healthy server economy while keeping player containers safe from thieves and griefers.
Core Features
Advanced Protection: Protects Chests, Barrels, Shulker Boxes, Furnaces, Doors, Gates, and even Crafters.
Anti-Exploit Engine:
* Piston-Proof: Prevents pistons from moving locked blocks or breaking signs.
Explosion Protection:TNT and Creepers won't dent your secured storage.
Hopper Security: Prevents illegal item extraction via Hoppers or Hopper Minecarts.
The "Chest Bank" & Tax System:
Set a daily maintenance fee for locks.
Players can deposit money directly into a specific chest's "Bank."
If the bank runs dry, the chest stays locked, but access is denied until the tax is paid!
Intuitive GUI Management:Shift + Right-Click to open a sleek menu. Manage friends, check tax status, and deposit funds without commands.
Optimized for Performance: Uses an In-Memory Caching System for player data. No constant disk reading or chunk scanning—zero impact on your TPS.
Vault Integrated: Full support for your server's existing economy.
️ How it Works Locking: Place a sign on a container, leave it blank then click the done. Managing: Shift + Right-click the lock to open the Management Menu.
Adding Friends: Add nearby players to your lock through the GUI—no need to type long usernames. Taxes: The plugin automatically checks if the "Chest Bank" has enough funds based on the interval set in your config.
Code (Text):
# ======================================================
# ChestLocked - Configuration
# Professional Container Protection v1.6
#
# ======================================================
# ------------------------------------------------------
# ⚙️ GENERAL SETTINGS
# ------------------------------------------------------
settings:
# The text that appears on the first line of the sign.
lock-tag: "[Locked]"
# Color code for the [Locked] tag. (&4 = Dark Red)
lock-tag-color: "&4"
# Color code for the Owner's name on the sign. (&1 = Dark Blue)
owner-name-color: "&1"
# When 'true', OP/Admins can open or break any lock.
admin-bypass: true
# Radius (in blocks) to detect players in the Friend GUI.
proximity-radius: 20.0
# [v1.6 System] Automated Sign Placement
# If true, placing a blank sign on a chest automatically locks it.
auto-lock-enabled: true
# [v1.6 System] List of all blocks that can be locked.
# Use material names from: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
lockable-blocks:
# Containers
- CHEST
- TRAPPED_CHEST
- BARREL
- FURNACE
- BLAST_FURNACE
- SMOKER
- DISPENSER
- DROPPER
- HOPPER
- LECTERN
- BREWING_STAND
# Shulker Boxes
- SHULKER_BOX
- WHITE_SHULKER_BOX
- ORANGE_SHULKER_BOX
- MAGENTA_SHULKER_BOX
- LIGHT_BLUE_SHULKER_BOX
- YELLOW_SHULKER_BOX
- LIME_SHULKER_BOX
- PINK_SHULKER_BOX
- GRAY_SHULKER_BOX
- LIGHT_GRAY_SHULKER_BOX
- CYAN_SHULKER_BOX
- PURPLE_SHULKER_BOX
- BLUE_SHULKER_BOX
- BROWN_SHULKER_BOX
- GREEN_SHULKER_BOX
- RED_SHULKER_BOX
- BLACK_SHULKER_BOX
# Doors
- OAK_DOOR
- SPRUCE_DOOR
- BIRCH_DOOR
- JUNGLE_DOOR
- ACACIA_DOOR
- DARK_OAK_DOOR
- MANGROVE_DOOR
- CHERRY_DOOR
- BAMBOO_DOOR
- CRIMSON_DOOR
- WARPED_DOOR
- IRON_DOOR
# Trapdoors
- OAK_TRAPDOOR
- SPRUCE_TRAPDOOR
- BIRCH_TRAPDOOR
- JUNGLE_TRAPDOOR
- ACACIA_TRAPDOOR
- DARK_OAK_TRAPDOOR
- MANGROVE_TRAPDOOR
- CHERRY_TRAPDOOR
- BAMBOO_TRAPDOOR
- CRIMSON_TRAPDOOR
- WARPED_TRAPDOOR
- IRON_TRAPDOOR
# Fence Gates
- OAK_FENCE_GATE
- SPRUCE_FENCE_GATE
- BIRCH_FENCE_GATE
- JUNGLE_FENCE_GATE
- ACACIA_FENCE_GATE
- DARK_OAK_FENCE_GATE
- MANGROVE_FENCE_GATE
- CHERRY_FENCE_GATE
- BAMBOO_FENCE_GATE
- CRIMSON_FENCE_GATE
- WARPED_FENCE_GATE
# [v1.6 System] Update Checker
check-updates: true
# [v1.6 System] Lock Limits
# Maximum number of locks a player can own. Set to -1 for unlimited.
default-lock-limit: 20
# ------------------------------------------------------
# DATABASE SETTINGS
# ------------------------------------------------------
database:
# Type of database to use. Can be "sqlite" or "mysql".
type: "sqlite"
mysql:
host: "localhost"
port: 3306
database: "chestlocked"
username: "root"
password: ""
ssl: false
# ------------------------------------------------------
# ️ PROTECTION SETTINGS (Security Layer)
# ------------------------------------------------------
protection:
# Prevent TNT and Creeper explosions from destroying locked blocks.
block-explosions: true
# Prevent Pistons from pushing or pulling locked containers.
# (Crucial for preventing theft exploits)
block-piston-movement: true
# Prevent fire from burning or spreading to locked wooden containers.
block-burning: true
# Prevent water/lava flow from breaking lock signs.
block-liquid-flow: true
# [v1.6 System] Strict Hopper & Minecart Control
# Prevents items from being sucked out by Hoppers or Hopper Minecarts
# unless the destination is also locked by the same owner.
secure-hopper-transfer: true
# Prevent players from placing a chest next to a locked chest they don't own.
prevent-chest-merge: true
# ------------------------------------------------------
# ECONOMY & TAX BANK SYSTEM
# ------------------------------------------------------
economy:
# Enable or disable Vault economy integration.
enabled: true
# One-time cost to place a lock sign.
lock-cost: 50.0
# Recurring tax/rent for maintaining the lock.
daily-tax: 5.0
# [v1.5 Anti-Lag Optimized] SCALING TAX PENALTY
# Additional tax based on the total number of containers owned by a player.
# Formula: daily-tax + (total_owned_locks * scaling-penalty)
# NOTE: This now uses the 'player-data.yml' cache system (No Lag).
scaling-penalty: 2.0
# How often (in hours) should the tax be collected? (Default: 24)
tax-interval-hours: 24
# The amount deposited into the chest bank when clicking the Gold Ingot in GUI.
deposit-amount: 100.0
# ------------------------------------------------------
# LOCKPICKING MINIGAME
# ------------------------------------------------------
lockpicking:
# The speed of the indicator (in ticks). Lower is faster/harder.
# 2 = Very Hard, 3 = Normal, 4 = Easy
speed-ticks: 3
# Maximum distance a player can be from the chest while picking.
max-distance: 5.0
# ------------------------------------------------------
# MAINTENANCE & AUTO-CLEANUP
# ------------------------------------------------------
maintenance:
# When 'true', locks of inactive players will automatically expire.
auto-expire: true
# How many days must a player be offline before the lock expires? (Default: 30)
expire-days: 30
# ------------------------------------------------------
# END OF CONFIGURATION
# ------------------------------------------------------
Need Help? If you encounter any issue, please reach out via the discussion tab
Note: every update i recommend to delete the old config.yml from your plugin file to generate a new one.