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.
Getting this error with Spigot 1.9.2 upon startup with Lock Security:
I'm working on rewriting a large portion of this project. It should be available relatively soon, but the changes should make the plugin a hundred times more efficient than it has been in the past, and should fix a lot of recent bugs (Especially in the 1.7.2 version that some people have claimed to have had).
I might consider making this project open source alongside LS-ChestCollector. Though that's still under consideration and may or may not be the case. I'm just thinking about it at this point. If I do chose to do so, this project will be under the Creative Commons v3 license, much like AlchemicalArrows has recently converted to
@phatfinger5
I don't see why not. I've been quite busy as of lately working on a few other projects. If I find the time, this is definitely on the list of things to do :D
Would it be possible to make so that you can limit how many chests they can lock with permissions? It would make it possible for people to make it so that donors can have more locked chests than someone else.
@2008Choco
Thanks for the reply and no worries about not replying sooner :P
You have convinced me to give the plugin a shot. It could be a while till my server is ready for public use, but I think this will make the experience unique! (Amongst the other things on the server of course... :P)
@phatfinger5
I apologize for not replying when you left the comment. I was on Christmas break and decided to take a break for myself.
Anyways, back to the question. Unfortunately, if you lose your key, you cannot obtain your stuff in the chest. However, there are multiple options to obtain your key again (You can also get the contents, but it's kind of annoying). You can either 1. Get an administrator to give you the key to the chest you have lost (They are able to use /inspectlock to check if you are in fact the owner). 2. Get an administrator to /unlock your chest. 3. Break the chest, which will in effect, remove the lock and obviously drop all items on the ground. Though remember, you must be the owner of the chest in order to break it. Lastly, you could also just simply /unlock it and lock it once again.
There is also, if enabled, a configuration option that allows owners to open a chest or door, or anything that is lockable, without the need for a key. If you would prefer to enable that, then owners are not required to provide a key, which basically nullifies the fact of having keys in the first place. Those keys could instead be used to give other players access to your locked blocks.
I plan on adding a certain feature in the future to counteract the loss of keys inside of a container. Though that'll come in a little bit. I may or may not do a LockSecurity update sometime soon, as there are a few other features I wanted to add as well. Key loss is definitely on my list of things to fix, because if you lock your key in your chest, you're kind of screwed :P
What if a player looses their key? Is there a way for them to make a new key or retrieve the key, or is it if they loose the key they loose the gear in the chest?
LockSecurity 1.7.0 is the biggest changelog I've ever done for this plugin. It's also one of the best ones I've made considering I'm using a database as well. Quite a useful and neat little feature, and I've worked very hard on it. People don't realize that in order to store data in a database rather than a YAML, I had to basically rewrite my plugin. Lots of work went into this.
Also, I had to figure out a way to transfer all locked information from the locked.yml into the lockinfo.db file and make sure it was all safe. Tough work ;) I am however, quite proud of myself
Yes!! I mean that the specified ID. (If players could set their own ID) Thank you for your enthusiastic ^^
Indeed craft the keys together has been very convenient. I already know . But I really think ... if there are 10 Chest in front of me, A Key Lock 10 Chest! against each Chest.
Too cool^^
But for the management and programming logic, you're right! I fully understand your concerns Thank you for answering my doubts
@Kevinhsneh
Unfortunately I'm not quite sure what you mean here. Are you asking perhaps, "Is there a way to set the ID you want to lock the block?". If so, that is not the case. The ID's for Keys and Lock's increment by one for every block locked. That's unfortunately just the way it works. It would be very difficult to manage data if players could set their own ID.
Though if you want players to use a single key, you may craft the keys together. For example, you have 2 keys that are used for locking a block. Take those two keys, put them in a crafting table, then you have 1 key with multiple ID's. I believe I showed you a GIF a few weeks back. That's still implemented in 1.7.0 :D
Dear:2008Choco. If there is a Command to specify [NextKeyID] number. Or ...... I use the same key, the lock chest .. The second and third fourth ... Players will be easier to use .. You think? I respect your opinion
@AgoniaMc
:D Thanks a lot! I'm glad you enjoy the plugin! (The first time you left a comment however, you were right, so thank you xD)
@AgoniaMc
Oh im sorry, I tought the permission was needed! Great work my friend, works amazing now! Thanks alot! :)
10/10
@AgoniaMc
I tested the permission node this time. Though remember, this permission node defaults to all players, and all players will have it if not specified otherwise. Make sure to negate the permission using your permission manager plugin.
Still doesnt seem to work..
@AgoniaMc
Yes, you are correct. And it seems as though the combination of recipes is not functioning properly either. I'm working on a fix right now. Not sure what would be causing it
EDIT: I've tried everything, and I cannot seem to fix it for the life of me. I honestly have no clue what's wrong with this. I have had to result to creating a thread on the forums for assistance. I will get some help from some more experienced developers (rather than my "just under 1 year" experience). This is really stumping me. I'll keep working at it though
EDIT 2: I still have not received a reply to my Spigot thread, and I've been trying to figure this out. I see absolutely no reason for it not to work, but it's just not working. As soon as I know, you'll know. Version 1.6.3 will be available as soon as I can fix this bug. There's a few other bugs I want to address as well in the mean time
EDIT 3: Thanks to the help of DarkSeraphim, I have successfully fixed those two bugs. Please update as soon as possible, and thank you for reporting these as I would have never discovered them for myself
The crafting permission doesnt looks to work in the 1.6.2
@mat41997
Hm. Seems like the same error. I could have sworn I fixed that. Alright, I'll take another look at it. Almost ready to release 1.6.2 soon anyways. I'll test like crazy to make sure that error doesn't appear in the next one. Thank you for reporting these
EDIT: I've fixed this, and made sure it worked 100% of the time. There is no more NullPointerException in 1.6.2. I have a little more work to do on this version, so it will be released later tonight. I sincerely apologize for the errors in your console over the past couple versions
next error,
I am adding a feature in 1.6.2 that some of you will definitely appreciate. Multiverse people, I'm looking at you ;)