LockettePro 2.2.0 - UUID Support
High performance sign-based lock plugin, highly customizable
Moved to Spigot... Please follow link:
What is LockettePro?
Remember the sign-based lock plugin Lockette that is popular for years? LockettePro is a deep remade & rewrite of the original Lockette. It has massive performance enhancement, fixed bugs and very customizable. LockettePro's behavior is 100% same as Lockette. You may switch between those plugins anytime.
I am deeply depressed with the original Lockette. Its codebase is messy, performance is bad, unnecessary checks are everywhere... It also uses legacy deprecated methods, having a piston-related bug for years... It is not very possible to fix all the issues, so I started to start a brand new plugin. And today, I am proudly to present you the ultimate sign lock plugin, LockettePro.
LockettePro - Pros
- No database. All information required for a lock is recorded on the sign.
- Switch to LockettePro and switch back to Lockette worry-free anytime.
- Absolutely better performance. Performance test comparison below.
- Language files are editable, with UTF-8 support.
- Able to disable "bloat" features easily with no affect to performance.
- Customizable. For instance, you can set lockable for every single block.
- Original Lockette's UUID support is not actually working between server restarts, just saying...
LockettePro - Cons
- Lack of admin snooping alert and I am not likely to add this soon.
- (Seems like I have resolved every other cons, great!)
LockettePro vs Lockette Performance - Using Timings v2
This test is focused on the most serious performance issue caused by hoppers InventoryMoveItemEvent. The event happens when hoppers are trying to pull items from the container above. Test is performed on my server with a monstrous Chest-Hopper rig consisting 10000 sets of locked chest and hoppers.
Lockette: 41.8 microseconds per event
LockettePro without cache: 19.4 microseconds per event
LockettePro with cache set to 10 seconds: 4.3 microseconds per event
How to Use LockettePro?
The usage of Lockette and LockettePro are exactly the same. For players, just hold a sign in your hand, then right click a chest or any lockable block. If you want to lock a door, you may put a sign on the block above or below the door too. You may also SHIFT+RIGHT CLICK the block to prevent it get automatically locked, or you can write [Private] text manually on signs as well. After locking, you may add a second sign on chest/block will add a [More Users] sign so you can add more users to a chest/block. In order to add another user name on a sign, first right-click to select a sign, then enter /lock <line number> <name>. For server owners please take a look at the configuration below.
Commands and Permissions
Main command is /lock. Aliases contains /lockit, /lockette and /lockettepro.
- Edit a sign: lockettepro.edit /lock <line number> <player> to add a player to the sign.
- Reload configuration: lockettepro.reload
- Admin break lock: lockettepro.admin.break
- Admin use block (snoop chests): lockettepro.admin.use
- Admin override placing interference blocks: lockettepro.admin.interfere
WorldGuard & Residence:
If a player does not have the "break" permission to a block due to WorldGuard or Residence, then he cannot lock it.
If a sign has a user line formatted "[TownName]", this means any player in town "TownName" will have access to this chest. Players are not allowed to lock a chest in the wilderness unless he has permission lockettepro.towny.wilds
If a sign has a user line formatted "[FactionName]", this means any player in faction "FactionName" will have access to this chest.
Some plugins are born to compatible with Lockette/LockettePro thanks to Bukkit's event priority mechanics. Players are not able to lock a chest/block that has already protected by another plugin. Known compatible plugin includes ChestShop.
The goal of LockettePro is to deliver a high-quality, and high performance sign-based lock plugin that can completely replace original Lockette. Like LockettePro? Missing features? Issues or bugs? What can I help to make it better? Leave a comment in the discussion, I want to know!
- My English is not very good, if I made some errors please don't laugh at me :)