Using a stick as a wand, a player selects a protectable block with right-click. The player can claim or un-claim the selected block with a subsequent left-click. When claimed by a player, only that player can interact with that block. All player information is stored by UUID, so you must use a server implementing Bukkit 1.7 or higher.
While selected, the player can add names or groups of names to the list of players permitted to interact with the block. Groups can be renamed, and their membership adjusted, at any time by the player - dynamically updating all the protected blocks that have that group.
The list of protectable blocks is configurable, but by default includes things like doors, chests, hoppers, switches, buttons and pressure plates. It also includes redstone repeaters and comparators, protecting redstone device timings.
This plugin does not prevent destruction of any of the protected blocks. The idea is that this plugin will be used in combination with some other plugin to provide protection from destruction, such as Towny, Factions or WorldGuard regions. Having said that, enough people demanded it that there is now a companion plugin named StickyProtection which will prevent the destruction of locked blocks (and key adjacent blocks) by player or by piston.
Place the .jar file into your plugins folder and start your Bukkit server (or load it with any plugin manager). It will write out the default config.yml file.
Edit the config if necessary, although everything should work straight away. The plugin will create and use StickyLocks.db, which is an SQLite database that can be queried with any SQLite3 compatible client.
The plugin will heuristically detect when other plugins are providing protection against players building, and will not allow players to lock things they couldn't have built.
First, the user has to use a tool wand. By default, this is a stick. Right-clicking on a protectable block with the stick will tell the player what that block is, who its owner is, or that it is unowned. The plugin uses green text to indicate that the player has access, or a command succeeded. It uses red to indicate that the player has no access, or that a command failed. Right-clicking on a block with the stick will also select that block.
Once selected, left clicking on the block toggles its lock state. If it's unowned, it will become owned by the player. If it is owned by the player, or the player is a locksmith (see permisisons, above) it will become unowned, and all lock information will be removed. Once selected, commands will operate on that block, or on the user associated with that block.
Right-clicking the air with a stick deselects the selected block.
/stickylocks is aliased as /sl
Fairly simple, and the defaults are likely to be suitable.
protectables is a list of items that can be protected by this plugin. If future versions of Minecraft add new items which should be protected, they can be added by name. Deprecated ID numbers are not supported.
tools is the name of the material type the player must hold to select or lock a block.
chatprefix is a short text added to the start of chat lines in square brackets. So, the default setting of SL would look like [SL] Some output here.