Commit Graph

68 Commits

Author SHA1 Message Date
Amaury Carrade
e1cd920d4c One GUI to rule them all, One GUI to find them, One GUI to bring them all and in the darkness bind them.
* NEW: removed the category selector GUI.
* NEW: the map list GUI lists all the maps.
2015-07-12 01:45:17 +02:00
Amaury Carrade
892f6d2834 Updated the vanilla infos remover to log all InvocationTargetException encountered.
* OPT: InvocationTargetException are logged in the GuiUtils class.
2015-07-11 20:55:30 +02:00
Amaury Carrade
c738359d2e Improved the GUI API.
* BUG: Fixed players unable to shift-click an item from the player inventory to the GUI.
* NEW: Added a direct access to the InventoryAction in the methods.
* OPT: Code style, avoiding too many nested blocs.
* OPT: Raw types in the class attributes (meh @IamBlueSlime).
2015-07-10 21:44:45 +02:00
Amaury Carrade
9084d28401 Merge branch 'indev' of github.com:Coutume/ImageOnMap into feature-explorer-gui-13 2015-07-10 19:51:51 +02:00
Adrien Prokopowicz
b0caf6604f * NEW: Updated .gitignore for IntelliJ and other IDEs. 2015-07-10 19:48:33 +02:00
Amaury Carrade
a1fa5b1f00 Images count in the tooltips of the category selection GUI.
* NEW: Added images count per category in the main selection GUI.
* OPT: Removed the “Choose a category” part of the selection GUI's title.
2015-07-10 19:38:00 +02:00
Amaury Carrade
07bc9cf4a5 You can now destroy from your inventory a map, or all maps from a poster, by putting a map in the map list GUI.
* NEW: Remove a whole map (poster or single) from the inventory by putting a piece in the map list GUI.
2015-07-10 19:38:00 +02:00
Amaury Carrade
0a79eee89b Fixed & enhanced GUI API (blame @IamBlueSlime for bugs).
* NEW: Added another onClick signature with the full event as the last parameter.
* NEW: Added a new method triggered when an item is dropped in the inventory GUI (`onItemDeposit`), with various signatures.
* BUG: Click triggered on click on a slot with the same raw number on the player inventory (out of the GUI).
* BUG: Fixed items ate by the GUI when dragged on it by cancelling all drags on managed inventories.
2015-07-10 19:37:59 +02:00
Amaury Carrade
26d28787be Removed useless and ugly vanilla infos (such as “Unknown map”) from the tooltips.
* NEW: Added a reflection-based API to remove all vanilla infos from the tooltips. Only effective on Bukkit 1.8.3+.
* NEW: Now using this API to remove the “Unknown map” or “Scaled at 1:8” texts from the maps in the GUI.
2015-07-10 19:37:59 +02:00
Amaury Carrade
2dfc0bf794 Implemented the beginning of the GUI: command /maptool manage, paginated & per-category GUI.
* 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.
2015-07-10 19:37:59 +02:00
Amaury Carrade
1534b574f2 Added a GUI API 2015-07-10 19:37:59 +02:00
Adrien Prokopowicz
ec6b4ec997 Merge branch 'indev' 2015-06-03 21:56:13 +02:00
Adrien Prokopowicz
3ace5f5edf Merge indev into master 2015-06-03 21:55:45 +02:00
Prokopyl
ce61923268 * BUG: Fix command permissions management. 2015-06-03 20:53:07 +02:00
Prokopyl
2a49d94d1e Migration is now fully functional !
* 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.
2015-04-12 01:28:05 +02:00
Prokopyl
6725c15002 Fixed migration for players who changed names before migrating.
* NEW: UUIDFetcher can now fetch uuids at a specific timestamp.
* BUG: Old map files are not loaded twice anymore.
* OPT: Reduced minimum time between requests.
2015-04-10 02:22:47 +02:00
Prokopyl
90dd9eb24d Migration preparation done.
* 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.
2015-04-09 22:32:51 +02:00
Prokopyl
aa27636962 * NEW: The plugin now tries to load images from the old "Image" directory if the new one does not exist. 2015-04-08 14:17:10 +02:00
Prokopyl
b87dfdf231 Implemented the map item limit (global and per-player).
* 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.
2015-04-04 06:05:47 +02:00
Prokopyl
27f836977f * NEW: Added the "map item cache" and the associated /maptool getremaining (or getrest) command. 2015-04-01 03:53:52 +02:00
Prokopyl
2280e96125 * NEW: Poster map items now show position information. 2015-04-01 02:22:06 +02:00
Prokopyl
ca8cebd0a0 * BUG: Newly created maps now have their names assigned correctly. 2015-03-31 21:41:37 +02:00
Prokopyl
860fed25e5 * OPT: The map database is now thread-safe. 2015-03-31 20:48:44 +02:00
Prokopyl
b192214609 * BUG: Maps are correctly updated if there are map objects already loaded when the plugin is enabled. 2015-03-31 20:04:56 +02:00
Prokopyl
6c95e8a95e * NEW: Implemented the list, get and delete maptool commands. 2015-03-31 19:17:06 +02:00
Prokopyl
244a3d7122 * BUG: Fix poster image saving when rendering. 2015-03-30 00:44:44 +02:00
Prokopyl
5c9feddd6e Added image-to-map rendering.
* 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.
2015-03-26 16:03:40 +01:00
Prokopyl
5c369c65cd * NEW: Implemented the new map data storing system. 2015-03-26 06:39:48 +01:00
Prokopyl
15e5c5457f * NEW: Worker runnables can now have callbacks.
These are executed in the Bukkit main thread, therefore 
allowing to use the Bukkit API in a thread-safe manner.
2015-03-19 02:01:26 +01:00
Prokopyl
7a8ec83d6a Implemented the command management classes (inspired from CommandTools).
* NEW: Added command management classes.
* NEW: Added an unfinished implementation of /maptool new.
* NEW: Added the shortcut command /tomap (alias of /maptool new).
2015-03-18 01:49:30 +01:00
Prokopyl
e4bd514a6e * OPT: Fix a few compilation warnings. 2015-03-17 00:32:42 +01:00
Prokopyl
1cb42e4965 Started refactoring. Plugin is not working yet !
* 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.
2015-03-16 20:40:44 +01:00
Prokopyl
a5d0193736 * BUG: Splitting images having dimensions that are multiples of 128
now works correctly.
2015-03-03 11:24:18 +01:00
Prokopyl
f7d9a07a58 * BUG: Fix the "resize" argument of the /tomap command (fixes #6). 2015-02-22 23:19:41 +01:00
Prokopyl
2da29a297c * OPT: Removed old todo.txt file. 2015-02-20 16:46:00 +01:00
Prokopyl
bdf35e9eef * BUG: Map items show correctly their position if they are part of a multiple-map poster. 2015-02-18 15:27:07 +01:00
Prokopyl
aa7aa32592 * NEW: Updated version to 2.99. 2015-02-17 20:01:44 +01:00
Prokopyl
3e19bb0b74 * OPT: Remove the unfinished AnimatedMap implementation for now. 2015-02-17 19:28:58 +01:00
ProkopyL
e31c20191f Code cleanup, starting to reorganize packages, and various (unstable!) updates.
* 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.
2015-02-17 18:31:55 +01:00
ProkopyL
d541aede3f Cleaning up exception and error management.
* NEW: Added the PluginLogger class to standardize console logging.
* NEW: URLs are parsed before starting any downloading task, and an error
  is shown to the user if the parsing failed.
* BUG: Exceptions are now catched at the highest possible level, so that
  appropriate error messages/logs can be generated.
* OPT: Standardized code formatting a bit.
2015-02-15 13:19:05 +01:00
ProkopyL
e19d8b5f39 Fixes for #3.
* BUG: Fix image scaling and writing.
* BUG: Using HTTPS should not prevent downloading a map.
* BUG: Exceptions during download are now correctly handled.
* BUG: Fix the "download success" message.
* OPT: Cleaned some old commented code.
2015-02-14 22:14:22 +01:00
ProkopyL
6474acecdf * NEW: Switched project to Maven. 2015-02-14 19:25:20 +01:00
Coutume
675bf898aa diverses corrections 2014-12-13 16:34:07 +01:00
Coutume
b1a7734f86 Préversion 4. Voir commit suivant (encore ) pour les détails 2014-10-21 18:23:35 +02:00
Coutume
6b9e5ef5e0 Préversion 4. Le commit suivant détaillera les changements 2014-10-21 18:20:35 +02:00
Coutume
ace2c2c948 update source 2014-03-12 19:08:51 +01:00
Coutume
12e55030fb Maps are now loaded only when they will be displayed 2014-02-13 15:16:33 +01:00
Coutume
ebafa23827 Mis à jour du fichier todo.txt 2014-02-07 20:05:34 +01:00
Coutume
43e68502dd Suppression de fichiers inutiles sur le repo 2014-02-07 19:57:28 +01:00
Coutume
2aa8ff40bc suppression du dossier bin 2014-02-07 19:53:52 +01:00