* NEW: improved help files, by adding missing helps and fixing display of others.
* NEW: there is now only one deletion command with a --confirm flag, leading to a less-confusing help for players.
* BUG: removed a very old Workers API test (from before zLib!). I feel a little sorry for him but eh, that's the rules.
* BUG: fixed untranlated title in the map details GUI.
* NEW: a click on the maps names on /maptool list gives the maps.
* NEW: added a tooltip on this list containing infos about the map.
* NEW: light redesign of the list.
* NEW: MapItemManager: now handles item frame events, allowing to hide
the map's title only when needed.
* NEW: Map files are now all loaded on start, rather than on demand.
* NEW: Rewrote DeleteConfirmCommand using the new RawText API.
* NEW: Use the new ZLib.registerEvents() API.
* OPT: MapManager's and PlayerMapStore's managesMap() methods now return
early when given a non-map ItemStack.
* NEW: added zLib dependency.
* NEW: removed all classes moved to the zLib, and updated the references to these classes to the zLib ones.
* BUG: fixed some GUI navigation problems.
* NEW: implemented the items renaming into the details GUI.
* NEW: ExplorerGui: Implemented 2D data support.
* NEW: ExplorerGui: Implemented retreiving items using coordinates rather than data.
* NEW: ExplorerGui: Added right-click event support.
* NEW: Gui: Added support for dragging events.
* NEW: Maps given to the player now have their attributes hidden.
* BUG: PluginLogger: Fixed exception handling when logging a message with arguments.
* NEW: The manage command now opens the MapList GUI.
* NEW: MapListGui: First actual implementation.
* NEW: MapManager/PlayerMapStore: Added the getMaps() method.
* BUG: GuiUtils: The hideAttributes() method does not crash anymore if
the ItemFlags API is not available.
* OPT: ExplorerGui: Inventory variables are now computed only on data update.
* NEW: Added new Explorer GUI type (not yet complete).
* NEW: Added testing implementation of MaterialGui.
* NEW: Added testing implementation of MapListGui (not functional).
* NEW: Gui: Added the MAX_INVENTORY_COLUMN_SIZE constant.
* NEW: ActionGui: Added the onAction_unknown event.
* NEW: ActionGui: Added the updateAction methods.
* BUG: ActionGui can now find action handlers in subclasses.
* BUG: ActionGui: Actions in the player's inventory are not cancelled anymore.
* NEW: Command `/maptool manage` to open a GUI used to manage the maps.
* NEW: GUI to manage the maps, organized per-category (first GUI to select the map type; then a GUI to view them). Pages of 21 maps (3×7).
* NEW: You can get a map by left-clicking on it on the GUI.
* NEW: Refactored PluginLogger for multi-thread usage and message formatting.
* NEW: Posters and maps that could not be migrated are now saved back
to their original files.
* NEW: Moved the maptool-migration command to the /maptool migrate subcommand.
* NEW: PosterMap can now be used without having row/column count information.
* NEW: Added a detailed help message for the migration command.
* BUG: Fixed UUIDFetcher's HTTP GET request sending.
* BUG: Fixed Name->UUID time-specific matching.
* OPT: Removed the CommandPermission structure, it is actually useless.
* OPT: Renamed Migrator to MigratorExecutor.
* NEW: Added Migration worker.
* NEW: Added the maptool-migration op-only command.
* NEW: Added pre-v3 map files loading support.
* NEW: Implemented v3 migration preparation.
* NEW: Commands : added support for runtime permission checking.
* NEW: Worker threads are now named based upon their worker's name.
* BUG: Fix MapItemManager exiting if it has not been properly initialized.
* NEW: Implemented the per-player map limit.
* NEW: Implemented the global map limit.
* NEW: The map manager can now raise exceptions for some requests.
* NEW: The configuration can now have deprecated field names.
These fields are automatically migrated if present in the config file.
* NEW: The configuration now writes default values when loading the plugin.
* BUG: Fixed configuration loading.
* BUG: Fixed player store loading's thread-safety.
* OPT: Cleaned up map loading events initialisation.
* NEW: Implemented the RendererExecutor for splitted and scaled images.
* NEW: Implemented image saving.
* NEW: Worker callbacks now take as a parameter the return value of the Runnable.
* NEW: Worker runnables can now request data from the main thread using the Future API.
* BUG: null is now a valid value for the "name" field.
* BUG: Fix map loading for Posters and Single maps.
* OPT: The PosterImage class now only makes the primary calculations when instanciated.
The splitting is now a separate method.
* OPT: When a map data entry is invalid, only the error message is shown in console
rather than the full backtrace.
* NEW: Added proper license headers.
* NEW: New image loading management.
* NEW: Added a threaded worker to run the image loading/saving.
* OPT: Moved images to the images/ subdirectory.
* NEW: Added the commands and image packages.
* NEW: ImageMap is now an abstract class rather than an interface,
allowing to add several useful common methods.
* NEW: The MapType enumeration is now part of the ImageMap class.
* NEW: Added some utility methods to the MapType enumeration.
* NEW: imageName, ownerName and worldName are now common map properties.
* NEW: The PosterImage class (was previously Poster) is now used to hold
the sub-images in the PosterMap class, instead of holding an array of
SingleMaps.
* NEW: Completely rewrote the image splitting algorithm.
* NEW: Removed the MapData and PosterData classes. They were uselessly
wrapped by the PosterMap and SingleMap classes.
* BUG: Fixed some method's accessibility.
* OPT: Cleaned up the map renderer a bit.