Lock Security
LockSecurity! The easiest to use container protection plugin on Bukkit! This plugin allows the ability for you to lock your containers with a key, and only be able to open the container if you have the key in your hand! There is no way that the chest can be accessed by another user unless they have a key with the ID binded to the block you have locked. IMPOSSIBLE to access any functions of the locked block
The plugin is simple to use and get started. First, all you have to do, is craft yourself a rusty old Unsmithed Key. If you right click on a lockable block, that chest and the Unsmithed Key you right clicked with, will be assigned a unique ID in incremental order. All information about the locked block is neatly stored in an SQLite lckinfo.db file inside the LockSecurity folder in your server files. No one will be able to access the contents of that chest... unless... they attempt to open the chest with the key that was binded to it. Simple as that! I know, you're probably thinking, "But why not just try and break the chest and get the contents inside?". That's been thought of. If you are not the owner of the chest (the player who locked it in the first place), you will not be able to break it. What about explosions? That's okay... all locked blocks are explosion resistant! :D No more need to hide your chests! What about doors and redstone? That's though of too! Redstone doesn't open or close locked blocks!
This plugin is highly configurable, including per/world block lock limits, recipe result yieldings, and even a list of blocks that can be locked. As of version 1.5.0, there is an external API which has been fully documented on a BitBucket repository where the source code is privately backed up. If you're a developer, and you would like to create an add-on for LockSecurity, please scroll down to the "LockSecurity API / Add-Ons" section, and hack away!
There are a few commands to help administrators manage this plugin. There are of course a couple of missing features from these commands, and there will be more added in the future. You can view all command references and their related permission nodes by -= Clicking here =-
There are a few permission nodes that should be taken notice of. Although they are very minor, and already have reasonable default values for servers that do not have permission manager plugins, please read the permission node guide page for reference to what they all do. You can view all permission node references by -= Clicking here =-
The following recipe will get you an Unsmithed Key, which can be used to lock a lockable block. This recipe is semi-shapeless. It requires the same format, however not in the same shape. As long as the recipe is in a straight line (or diagonal), the iron bars are on the opposite ends of the wooden plank, and the iron ingot is in the center slot, the recipe will work
Please view the following page on how to use any of the configuration options if they are not already clear, by -= Clicking Here =-
Thank you to AbsintoJ, MrUrica123, and LtJim007 for making such amazing videos explaining how the basic and key features of the plugin works. AbsintoJ has made one in Portuguese, MrUrica in French, and LtJim's video is in English. It gives you a visualization of what the plugin will be like when you install it. Unfortunately, AbsintoJ's is quite outdated to version 1.1.1 of LockSecurity, but again, not a big deal ^-^. LtJim's video was released when version 1.6.1 of the plugin came out, and most recently MrUrica released his video in version 1.8.1.1. I hope you enjoy the videos!!!
As of version 1.5.0 of LockSecurity, there is a very extensive API that has full documentation. If you are a developer interested in creating add-ons for LockSecurity, please, I highly encourage you to do so! I would love to see some neat little add-ons for this plugin, and perhaps even use them! If you create a LockSecurity add-on, do not hesitate to inform me over PM on BukkitDev, Twitter (found below), or in the comments of LockSecurity. Doesn't matter how detailed it is, as long as it's an add-on, I would love to hear about it, and I will list it here :D
I have created an add-on for LockSecurity to show the true power of the new API. It is called LS-ChestCollector! Using locked chests, you can create wireless collection systems, to collect the items you specify in the command when you pick them up! You can check this add-on out by -=Clicking Here=-
About the API. If you would like to know how to actually code an extension to the LockSecurity plugin, go ahead and head over to the BitBucket Wiki page which can be found by -= Clicking Here =-
Perhaps you have an idea for something that should be added? An idea to improve my plugin at all? Or maybe you just have a bug that I couldn't seem to figure out. If you have anything listed above, make a ticket! I get e-mail notifications for when you create a ticket, and I will get to those a lot faster than a comment on my post. That also helps me organize many of the suggestions and bugs I've had in previous versions. Tickets are always preferred over comments, but if you just wanna be nice and rate this plugin based on your usage, feel free to leave a comment instead
This is a list of servers that have the Lock Security plugin installed. If you would like to try out the plugin before downloading it and putting it on your server, feel free to try it out on one of these. If your server has this plugin installed, leave the IP address in the comment, and I'll add it to the list when I have the chance!
As a highschool student, I am very busy and will only be able to work on this when time is available to me. I will make this plugin very interesting, and continue updating with as many features as I possibly can. However, eventually I will run out of gas, and not produce any ideas. Leaving a ticket with suggestions for this plugin is always encouraged if you want to keep this project alive. Thank you for all of the support on this plugin, for the very few of you that are supporting it. Numbers don't matter to me, so I'll keep producing content as long as at least one person is downloading this plugin. Enjoy
I have created a Twitter account specifically for development updates and feature sneak peeks for all of my plugins. I will be posting updates about where I'm at on plugin updates, and open to suggestions on this social media website. If you have a Twitter account and would like to get in contact with me, my development Twitter handle is @2008Minecraft It will be full of sneak peeks for you all to drool at until I fully release it. You'll also get tweets every time I publish an update for a plugin, so keep an eye on that as well ;) Social media is not a necessary, but only optional if you want to know a few things before others do
I work really hard on my projects to try and produce the best updates as I possibly can. As a new and aspiring developer, I am still looking for some means of support for future school endeavors, and getting lessons to code professionally.
If you would like to donate and help support me, that would be very much appreciated. My plugins are not pay-to-play, and donating is simply optional. If you can't support me through monetary means, please feel free to comment instead <3 Anything helps.
@2008Choco
The keys are tripwire hooks, these count as blocks and can be placed. Just use the cancel block place event with the keys and I think it will work.
@Flashera
1. Not sure what you mean by that? Keys are items
2. I do plan on doing doing that I'm the future, but key features for security and admin overrides are more important I would think :P
3. Using /ignorelocks and breaking a chest will unregister it from the locked.yml, but I do plan on creating an /unlock command eventually as well
4. I will add support for doors and other containers once I have everything all sorted out
5. That's a good suggestion and I will do that :)
Some suggestions:
1. Make keys unplaceable.
2. Allow keys to be replicated.
3. Make an admin unlock command.
4. Finish doors and the like
5. Allow recipe to be modified via configuration file.
@jetelhudzum
1, 2, 3, 5, and 6 seem like all additions that I am not intending on creating. Although, I plan on making an API for the plugin. Once completed or at least minimally developed, I'd be happy for someone to attempt to make an add-on for Lock Security all related to passwords
You'll notice I skipped 4. That idea doesn't sound like a bad idea. It might be difficult, but it's possible. It would also be a change in data saving in the locked.yml. It is however something for me to consider in the future. At the moment, I have a HUGE lineup of ideas to add to this plugin, and I just won't have time xD
Hi! This plugin looks nice and I would like to use it on my server. Can I give you my suggestions? I haven't try your plugin yet so maybe the suggestions are already a reality :-)
1) Keys have a password given by a player. The password can be simple string of text.
2) Password can be set using a command or naming the key via anvil (configurable). You can produce more keys with the same password.
3) First use of the key will set the password for the container. Now only keys with the same password can open the block. Friends can have acces to party chests!
4) With a key in hand, right click opens the lock (message "Opened"), left click locks it (message "Locked").
5) Users can not only give passwords to keys (passwords don't show up), but also ad a tag to the key that will show as "key to my chest" or "key to dungeon door". Possible command could be /key <name> [color] :-)
6) In case the key is stolen, the creator can change the locking password via command. All keys with old password are no longer valid.
Hope it can help you make better roleplay plugin!
@westwestern
:P Are you trying to explain how to make a hidden door using a key combination (levers)? Not sure how that's completely relevant. Although, it is pretty interesting :D
(If you're trying to suggest me something in some sort of metaphoric way, it just went over my head, my apologies xD)
Each button has one RS NOR latch. When all the RS NOR latches are activated, the combination is correct, and the circuit sends a short pulse from the output. The pulse goes to a T flip-flop that controls the piston door. If the wrong button is pressed, the circuit actomatically resets. This makes the lock very safe!
@therealgustav9797
No. The Key ID is usually binded to one chest. Although I would like to implement that eventually. It would be quite useful. Not sure how I would implement that though. Not through code, but through practicality. Like, how would you set a key to multiple ID's? Thanks for the suggestion though :D
EDIT: I actually took into consideration of your suggestion. In the next update, there is support for multiple ID's, however, there is no practicality for it as of yet. I have a potential idea to craft two locked keys together, and that will fuse the key ID's, but that's really the only thing stopping me. I don't have anything else stopping me from multiple blocks being accessed by one key. It works flawlessly :) Perhaps in version 1.1.0 I'll look into creating a recipe for it, but for the next version (1.0.2), I fixed a lot of annoying bugs that people probably hated (invisible key glitch)
Nice. Can you use the same key on multiple chests?