LockSecurity 2.0.0

Details

  • Filename
    LockSecurity2.jar
  • Uploaded by
  • Uploaded
    Sep 24, 2017
  • Size
    115.29 KB
  • Downloads
    8,542
  • MD5
    7dc94582a17b41023a1f3b1970b9b081

Supported Bukkit Versions

  • 1.12

Changelog

Yes, I'm aware, this update is long overdue. After 1 year and 4 months since LockSecurity 1.8.2 and over 3 months since 1.12 release, LockSecurity 2.0.0 has been completed! Now... take this release with a grain of salt. There is no guarantee that this will work 100% on any server version other than 1.12.0 -> 1.12.2, and even then, expect issues. I am not certain that everything will work, but certain enough to at least release a beta version of this plugin. Please be aware that by using this file, it is at your own risk and you are willing to report issues to me as soon as possible.

 

LockSecurity has been written from the ground up for 2.0.0 (I literally deleted the whole project and started from scratch about a year ago and only just now finished it), therefore many improvements have been made. See below for a long yet meaningful changelog

 

  • Official support for Minecraft 1.12.x
  • Completely rewrote LockSecurity from scratch. Code improvements, condensed/cleaner source, and just overall efficiency boosts
  • Data storage changed from MySQL (SQLite) to per-player JSON files
    • Previous data will be automatically converted
    • be cautious... backup your data just in case something goes awry. Notify me instantly
  • Added support for locale files in order to change messages in the plugin
    • By default, "en_CA" and "fr_CA" are generated
    • You are welcome to submit your own locale files and submit them to me, or just keep them to yourself :c
  • Removed and updated a few commands:
    • /locklistother <player> has been simplified as an optional parameter to /locklist [player]
    • /forgekey [id] now accepts multiple ID numbers (i.e. /forgekey 3,4,5 will give you a key with ID's 3, 4 and 5)
  • Local data is handled in a more efficient way. If a locked block is unloaded, it is no longer registered to memory until it is loaded again. This increases efficiency in lookup times for large amounts of locked blocks
  • Players are now more properly secured in memory. Should not lose information after logout
  • Added and updated a bunch of new API classes for developers:
    • LockedBlock: A class that represents a block locked in the world
    • KeyFactory: A utility class used to create smithed and unsmithed keys in a builder-style pattern
    • PlayerDuplicateKeyEventPlayerInteractLockedBlockEventPlayerLockBlockEventPlayerUnlockBlockEventPlayerMergeKeyEvent
    • LockedBlockManager: Contains a bunch of methods to interact with registered/loaded locked LockedBlocks
    • PlayerRegistry: Holds information regarding custom player data (LSPlayer class, which is also new)
    • LSPlayer: Represents a custom Player wrapper with a bunch of information regarding the player for LockSecurity
  • All classes have been thoroughly documented with Javadocs and may be found on my website
  • Removed and added a few configuration options
    • + Locale: Select the locale to use for LockSecurity
    • DatabaseSaveInterval -> DataSaveIntervalTicks: Just a rename. Still an autosave, but now calculated in ticks rather than minutes
    • Aesthetics.DisplayNameChangeNotice: Completely removed this "feature" due to the rewrite. Data is not held by names, but rather UUIDs
    • Vault category: The entire category was removed because economy is no longer supported. This may change in the future
  • LockSecurity's repository is now being hosted on GitHub, which means it is now OPEN SOURCED! Go on! Go check it out! Contribute if you can :) The wiki and code on BitBucket are outdated and will soon be deleted (it's private anyway). The license is now GPLv3

I'm sure there is a lot more to this changelog, but to be quite honest, due to such a large period of time updating this project, I don't remember a lot of what was done. If you have any issues with the project, please don't hesitate to send me a message, and I'll update whenever I get the change. I appreciate those still willing to use this plugin, and I apologize sincerely for the long wait for the update to 1.12.0. Enjoy!