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.
Good news for a lot of you bilingual people. I've actually added functionality to the messages.yml file. Much much much nicer now. It's easy to navigate, and supports Essentials chat colours as well. So there should be full customizability to all of the messages in the plugin (excluding some messages such as /ls version, startup messages, etc.). Obviously, the message colour will default to gray though so don't worry if you don't want to change the colours
@reploidxzeros
I'm not quite sure what you're trying to tell me. Hello from Canada though :D Don't worry about your English, I understand that it's not your first language
@zainmz
I actually wanted it to be a game-like feature. Something using an inventory where you'd have to actually attempt to crack a code or something. I'm not sure how it would work. It would be really cool though. We'll have to see if I wanna add those, but it'll come way after once I get everything completed grief-protection related
Hello, everyone, I come from China, I heard minecarft abroad has many great god, and I have a look at, suddenly is a great god, and my English is not good, hope you forgive me
@2008Choco
Or it could be a minigame to open up locks.
@Flashera
You know what, it's actually really funny you mention that because it was something I considered adding. Hense the message when you attempt to use a key on a locked block being "You failed to pick the lock" (or something alone the lines of that ;P)
I wrote it in my original plans (if you open the plugin .jar with WinRar, you'll see a text file labelled "LockSecurity.txt" containing all my original plans. I believe a lock pick was part of those plans
Have you considered lockpicks?
@DrkMatr1984
Haha yes door support is here! Believe me, I literally jumped with joy once I finally got this done. It took so much work! I'm not even kidding, it took me about 4 days to just figure out HOW to do it
There are general bugs that I found though. Luckily, not relating to dual-component support. I tested that so thoroughly that my fingers may have fallen off from playing Minecraft so much. No, but I fixed a lot of bugs in a 1.3.1 version. I'll release it later tonight. I wanna look over my code once again in case I may have left any more errors. I know there's an error with username change refactoring, /locklist and /locklistother, and a message. Not really anything that should be of concern
EDIT: 1.3.1 is released, but I'm just waiting for Bukkit to accept the file. They always seem to have like 12 hour periods of non-active Bukkit plugin accepting ;-; (#BukkitDeveloperProblems)
@2008Choco
Door Support is Here!
@zainmz
The thing about crafting the keys, is that it's more RPG friendly. However, I recently made an addition to my AlchemicalArrows plugin that not many people would find use to. Only Kit-PvP servers would. I did this through a configuration option.
I'd be willing to write 2 new configuration options.
ReceiveKeyOnCraft: true/false
ReceiveKeyOnCraftOnce: true/false
The second option would be dependent on the first one, though. I'm currently working on a huge update for 1.3.0, so it won't be added then. 1.3.1, we'll see ;)
Could it be possible if players didnt have to craft the key, because it is pretty much time consuming when new players join the server. It should maybe be like when they craft a chest the key is automatically given to them in their inventory
@DrkMatr1984
Haha to be honest, premium resources aren't really my thing. I mean, I'm doing it for fun and for the community aren't i? I don't plan on making a premium resource on spigot as I am mainly a Bukkit developer, but if I ever do, I wouldn't do more than like $1 or $2
This one however, is free forever ;)
EDIT: 1.2.2 is out, and I'm working on 1.3.0 right now. Dual-component blocks such as doors and double chests are being worked on as we speak. As well as a new command that I think TONS of people will love. It doubles as an administrative command and a default player command at the same time. Trust me, it's useful and people have been asking for it
EDIT 2: 1.3.0 is released, and it has DUAL-COMPONENT SUPPORT!!! :DDD WOO HOO!!!
@2008Choco
I hear you bro :) Thanks for working on this. I got a few bucks on payday I can kick your way. I'm a programmer too, I know how much it can motivate someone. I actually have bought a few premium resources on <gasp> spigot, and this plugin is worth more money than what I paid for a few of those plugins... I'm not saying go and make it premium; PLEASE DON'T! Donations are from the heart and mean more than payments.
@DrkMatr1984
See, the thing is, my original goal was to make an RPG replacement for Lockette. I knew there weren't any good lock and key plugins, so I thought I'd make my own detailed, and well programmed plugin. This is probably the most detailed and in-depth plugin I've ever made in my life, and I'm quite proud of it.
The thing with doors though is the difficulty part. Granted, I can do it with a little bit of extra work, but the issue is, well, motivation to do it. There are other things that I know I can do, and I would love to do them just for convenience purposes; so I just do them first and get them out of the way.
Doors are two-component blocks which makes it more difficult to store the information of the block. Same thing goes with double chests. I'm working on these, and I plan on having double block support soon enough. Again, HUGE list of plans. Don't worry about donating if you really don't want to because profits aren't what I'm really shooting for. Hey, if I make money, I can put it in a university fund and invest it for more money towards education... awesome :D. But my main goal is NOT to make a profit.
Feel free to donate. I'll be honest, it would motivate me a heck of a lot, and I would get it out in the next version (well... 1.3.0. I'm working on 1.2.2 right now and I plan on releasing it tomorrow or the next day)
I can't wait for the door support! I run a towny RPG server and am VERY interested in replacing Lockette with this plugin, as it's a little more RPG friendly and realistic. Perhaps a donation is in order ;) (a motivation donation!)
@DarkSniperXS
At the moment, yes you do. Although, I have already added in support for multiple ID's on a key. The only thing I have NOT supported, is a means of allowing a second ID to be placed on a key. I don't know any simple way to allow that. I've thought of perhaps double clicking on a chest with a key? But that may cause a problem with people accidentally using the wrong key or something (not all that big of a deal, really). If you have any practical uses that make sense on how to allow a secondary ID on a key, please let me know. I can't think of a way to get the player to say "HEY! I want a new ID on this key!" and know they did it
Once you let me know that, I'm able to program in some support for multiple ID's. It is very very very much possible, as I have already modified the "getKeyID()" method to 1. be renamed to "getKeyIDs()", and return an integer array which returns multiple ID's.
Lemme know, and I'll get right to it :D
@2008Choco
Hey I was wondering if you have to have a key for each chest you own, like most people don't have just one double chest :P
Seeing as I like this plugin, I will post the IP to my server in the comments when it comes online to the public (I give it a week or two.)
@Flashera
You know what, a /lockinspect command wouldn't be a bad idea. :) I like that as well. I'll work on a 1.2.1 update later today
@2008Choco
Yeah, also, I'd like to add that you should add a feature (mod command maybe?) to find out the id of a locked chest.
@Flashera
OH! The key's themselves being placed as a block!!! Okay, I didn't quite understand what you meant at first. Yea that's a good idea. Didn't even think of that. Thank you