Commit Graph

233 Commits

Author SHA1 Message Date
Amaury Carrade
c8c26a3cc6
Fixed bypass permission. 2020-06-14 15:14:52 +02:00
Amaury Carrade
5701296d67
Licenses are a mess in this project. (#96)
* Fixed software licenses in README & license header template.
* Fixed license headers on all files.
2020-06-14 14:29:18 +02:00
Vlammar
11b4ad6612 Ver 4.0 2020-06-14 12:04:09 +02:00
Vlammar
46cae5bb33 Merge branch 'indev' of https://github.com/zDevelopers/ImageOnMap into indev 2020-06-14 03:34:14 +02:00
Vlammar
326e90d33f
Merge branch 'indev' into 4.0_dev 2020-06-14 03:26:09 +02:00
Vlammar
396268a0e2 Merge branch 'indev' of https://github.com/zDevelopers/ImageOnMap into indev 2020-06-14 03:07:29 +02:00
Vlammar
9af9781e16 Revert "Updated dependencies to zLib 1.0, and version number to 4.0-pre2"
This reverts commit a8d7a3ab2f.
2020-06-14 02:56:00 +02:00
Vlammar
6e90e68c19 Forget to remove print 2020-06-14 02:49:46 +02:00
Vlammar
0359740890 fixed a bug where map can't be removed 2020-06-14 02:36:50 +02:00
kirbykirby56
69fcb0c241 Add save-full-image and limit-x/y 2020-06-09 18:40:00 +02:00
Vlammar
9f2c63ed3b Fixed a rotation bug on floor/ceilling map 2020-06-07 19:16:44 +02:00
valentin
89123da386 Merge branch '4.0_dev' of https://github.com/zDevelopers/ImageOnMap into 4.0_dev 2020-06-06 22:32:43 +02:00
valentin
f79674169e added map on ground/ceilling, fixed renderer bug 2020-06-06 22:25:08 +02:00
Amaury Carrade
ef329995eb Added an option to disable updates checks (and data collection) 2020-02-27 13:36:56 +01:00
Vlammar
f9c9049aa6 ground and ceiling map possible, many bugs left to fix 2020-02-22 01:15:22 +01:00
Amaury Carrade
a8d7a3ab2f Updated dependencies to zLib 1.0, and version number to 4.0-pre2 2020-02-15 16:56:14 +01:00
Vlammar
3a15e63076 1.15 2020-02-14 23:47:06 +01:00
Amaury Carrade
c1dc1524cc Added back statistics 2019-11-15 03:43:30 +01:00
Amaury Carrade
411b9c218a Updates are now checked from SpigotMC.org. 2019-11-15 03:10:09 +01:00
Amaury Carrade
6db87b5f3e Maps names are no longer visible when on a frame
- Fixed a regression where the map's name was visible when hovering
  the map on the wall. The name is still visible if the map was
  manually renamed by the player.
2019-10-26 18:22:20 +02:00
Amaury Carrade
b05335359a Fixed splatter attribute & moved messages to action bar
- Changed AttributeModifier to an enchantment, because the former was
  arbitrary removed by Minecraft or Spigot.
- Used action bar messages instead of chat messages at various places.
2019-10-26 18:02:48 +02:00
Amaury Carrade
fd483d6088 1.13 + 1.14 compatibility: the beginning.
- The plugin should be compatible with 1.13+. Compatibility with 1.12- has been dropped; use old versions for them.
- Map IDs are integer instead of shorts now, as the maps limits has been dropped by Minecraft.
- ImageOnMap items are now green to differentiate them. Map parts are lime.
- Removed glow on maps, as zLib's glow effect is not compatible with 1.13+.
2019-10-26 14:26:12 +02:00
kirbykirby56
f0889b8cf1 Add administrative commands 2018-03-24 21:17:44 -04:00
kirbykirby56
aeceb0fb63 Revert to 3d7d2fd again
Because git is really hard for beginners

and i keep including ImageMap.java
2018-03-24 21:09:03 -04:00
kirbykirby56
2050a113b5 Add administrative commands 2018-03-24 21:06:49 -04:00
kirbykirby56
4e4212e42f Revert to 3d7d2fd
Because I screwed up.
2018-03-24 21:05:14 -04:00
kirbykirby56
f5c3cb2bfd Removed debug-command 2018-03-24 20:51:47 -04:00
kirbykirby56
4885198888 Add administrative commands 2018-03-24 20:46:32 -04:00
Adrien Prokopowicz
4653008e5a
* NEW: Added stretch and cover image resizing modes 2018-02-24 04:09:40 +01:00
Adrien Prokopowicz
47fb9737cb
* NEW: Added width and height parameters to the resize option. 2018-02-23 03:06:43 +01:00
Amaury Carrade
f92d90683d
The permissions update.
* NEW: added permissions for everything.
2018-01-24 00:16:58 +01:00
NoahTheGoodra
370113b524 Add Rename Command
Signed-off-by: NoahTheGoodra <peterpan0413@live.com>
2017-10-09 09:03:11 -05:00
Amaury Carrade
195f656f3c
Merge branch 'master' of github.com:zDevelopers/ImageOnMap
Conflicts:
	src/main/java/fr/moribus/imageonmap/commands/maptool/DeleteConfirmCommand.java
	src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java
	src/main/resources/i18n/fr_FR.po
2017-03-12 20:12:35 +01:00
Amaury Carrade
b9259280dd
Improved help files and used flags instead of double commands.
* 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.
2017-03-12 20:05:32 +01:00
Adrien Prokopowicz
d9bd6ff867 * BUG: Fix the metadata of item map parts. 2016-07-10 17:16:04 +02:00
Adrien Prokopowicz
5027f5bf71 * BUG: Fix splatter maps not initializing their maps properly. 2016-07-10 16:13:09 +02:00
Adrien Prokopowicz
7ccccb2c0e * BUG: Fix map parts items row/column indexing. 2016-07-08 06:34:40 +02:00
Adrien Prokopowicz
a730aab1f1 More minor fixes.
* NEW: GUIs are now translated according to the player's locale.
* BUG: Fix some usage parameters.
* BUG: Fix Map initialisation on startup if the map is invalid.
* BUG: PosterMap: remove a debugging message.
* BUG: Fix the command error message for the french locale.
2016-07-08 04:45:08 +02:00
Adrien Prokopowicz
225c76de7c Better Management for missing maps.
* NEW: Migration now ignores maps that are missing from the save.
* BUG: Fix NPEs being thrown when trying to handle missing maps.
* BUG: Fix some typos in the french translation.
2016-07-08 01:15:02 +02:00
Adrien Prokopowicz
97e62c1a14 * BUG: Fixed splatter maps removing when in survival mode. 2016-07-07 23:28:17 +02:00
Adrien Prokopowicz
7de48ef7ce * BUG: Fixed splatter maps removing when in survival mode. 2016-07-07 23:17:49 +02:00
Adrien Prokopowicz
db8d1d9551 Added proper support for older posters without dimensions.
* NEW: MapDetailGui: Use regular items to represent Single maps, so the
  user can retrieve them.
* NEW: MapDetailGui: Added support for posters without dimensions.
* NEW: MapListGui: Added support for posters without dimensions.
* NEW: MapItemManager: Added support for posters without dimensions.
* BUG: SplatterMapManager: Prevent the use of splatter maps with posters
  without dimensions.
* BUG: PlayerMapStore: Fix the console warning when loading a map store
  that exceeds the quotas.
* BUG: Minor fixes to the french translation.
2016-07-07 02:04:13 +02:00
Adrien Prokopowicz
a90418d3a1 * BUG: Fix item frame events priority and cancellation handling. 2016-07-06 00:03:02 +02:00
Adrien Prokopowicz
3ea55f5fb2 Merge pull request #28 from Brokkonaut/patch-1
Correctly handle cancelled events when autoremoving maps.
2016-07-05 21:02:16 +02:00
Adrien Prokopowicz
b83b8d0818
Merge branch 'indev' of github.com:Coutume/ImageOnMap into indev 2016-07-04 03:46:46 +02:00
Adrien Prokopowicz
68495fb65c Some fixes for the migration tool.
* BUG: Names are now correctly requested for both posters and small maps.
* BUG: Names cannot be requested twice anymore.
2016-07-04 03:45:29 +02:00
Brokkonaut
bd2c5d7a9a Don't remove map if not allowed to damage item frames there
If the EntityDamageByEntityEvent is cancelled (for example by a plugin like WorldGuard) the maps should not be removed. This is on high priority, to allow other plugins to cancel the event first.
2016-05-25 23:50:33 +02:00
Amaury Carrade
79004336a0
Fixed some typos in texts.
* BUG: fixed typography errors and things like this.
2016-05-21 20:55:03 +02:00
Amaury Carrade
cd3aeb8cab
Merge branch 'indev' of github.com:zDevelopers/ImageOnMap into feature-i18n
Conflicts:
	src/main/java/fr/moribus/imageonmap/commands/maptool/ListCommand.java
2016-05-21 19:12:25 +02:00
Amaury Carrade
40a35271ae Merge pull request #24 from AmauryCarrade/feature-clickable-mapslist-12
Clickable maps list
2016-05-21 19:08:38 +02:00
Amaury Carrade
706ca5601d
Internationalization of the plugin.
* NEW: the plugin can now be translated.
2016-05-21 18:55:32 +02:00
Amaury Carrade
987efea203
The plugin configuration now uses the zLib config mecanisms.
* NEW: now using the zLib configuration component to manage the configuration.
2016-05-21 13:37:04 +02:00
Amaury Carrade
578ea39479
Improved the splatter maps tooltip.
* NEW: added usage instructions and minimal size of the frames wall in the tooltip of the splatter map.
2016-05-21 01:35:21 +02:00
Amaury Carrade
6568e6e411
Made /maptool list clickable (closes #12)
* 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.
2016-05-21 00:48:40 +02:00
Adrien Prokopowicz
c18202f800
Fix Splatter map deployment.
* NEW: Incomplete splatter maps can now be retreived by shift-clicking.
* NEW: When in creative mode, retreived maps are given back when not
  in the player's inventory.
* BUG: Splatter maps are now deployed correctly.
2016-05-02 17:40:54 +02:00
Adrien Prokopowicz
3bfa1266ad First (and dirty) implementation for Splatter maps. Still WIP.
* NEW: Added splatter maps.
* NEW: Shift-left clicking on a poster map in a frames removes the
  complete map.
* NEW: Placing a splatter map on the bottom-left of an item frame wall
  places the entire map.
* NEW: Map GUIs now give splatter maps instead of all the separate map
  parts.
2016-04-15 17:16:09 +02:00
Adrien Prokopowicz
a285d782be Maps titles are now hidden when placed on an item frame.
* 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.
2016-04-11 22:39:27 +02:00
Adrien Prokopowicz
154c2fde36 * BUG: Fix delete command confirmation message parsing. 2016-04-02 23:09:12 +02:00
Adrien Prokopowicz
b5751f38eb * BUG: Fixes splitting images having multiples of 128 as dimensions. 2016-04-02 22:11:31 +02:00
Adrien Prokopowicz
b5d41b25d0 * NEW: Improved rendering error messages. Fixes #22. 2016-04-02 21:45:03 +02:00
Adrien Prokopowicz
e942aabeda Various fixes and improvements on map GUIs.
* NEW: MapItemManager: new methods to create corresponding map items.
* BUG: MapDetailGui: Picking up a part now gives the player the actual 
  map instead of the display item.
* BUG: ImageRendererExecutor: The worker's name is now the correct one.
* BUG: Picking up a map or putting it in the hand from an inventory now
  correctly initializes the map.
2016-04-02 00:43:09 +02:00
Amaury Carrade
234a81b335 Merge branch 'feature-explorer-gui-13' of github.com:AmauryCarrade/ImageOnMap into feature-explorer-gui-13
Conflicts:
	src/main/java/fr/moribus/imageonmap/gui/ConfirmDeleteMapGui.java
	src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java
	src/main/java/fr/moribus/imageonmap/gui/list/MapDetailGui.java
	src/main/java/fr/moribus/imageonmap/guiproko/core/ActionGui.java
	src/main/java/fr/moribus/imageonmap/guiproko/core/ExplorerGui.java
	src/main/java/fr/moribus/imageonmap/guiproko/core/Gui.java
	src/main/java/fr/moribus/imageonmap/guiproko/core/GuiUtils.java
	src/main/java/fr/moribus/imageonmap/guiproko/list/MapListGui.java
2015-12-29 19:22:41 +01:00
Amaury Carrade
2443574316 ImageOnMap is now a zLib plugin.
* 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.
2015-12-29 19:12:36 +01:00
Adrien Prokopowicz
c4a1310847 Introduced GUI relationships.
* NEW: Gui: can now have a parent. If so, a closing GUI will
  open its parent, like a modal dialog.
* NEW: Gui: can now be immune to the next close event, if needed.
* BUG: Gui: getOpenGui() does not throw an NPE anymore if no open
  GUI was found.
* OPT: PromptGui: removed unneeded fields.
2015-10-05 22:35:59 +02:00
Adrien Prokopowicz
96093898c8 New Sign-based Prompt GUI API.
* NEW: Added new Callback class.
* NEW: Added ReflectionUtils module.
* NEW: Added new PromptGui class.
* NEW: MapDetailGui: Implement renaming using new prompt API.
* BUG: ExplorerGUI: Fix a crash when setting null data.
* BUG: InventoryGUI: Fix titles longer than 32 characters.
2015-09-28 16:09:04 +02:00
Adrien Prokopowicz
48dbdbd9d4 Separated the Inventory GUI from the common GUI.
* NEW: Added new InventoryGui class.
  This class only manages inventory-based GUI.
* NEW: Gui: Added the registerListener() method, which allows
  any Gui subclass to lazily register their own GUI Listeners.
2015-09-21 06:37:10 +02:00
Adrien Prokopowicz
f29e972be6 Various GUI & GUI API improvements.
* NEW: ActionGui: Added the GuiAction annotation.
* NEW: ConfirmDeleteMapGui: Updated to use the @GuiAction annotations.
* NEW: ExplorerGui: Added a default empty indicator.
* NEW: ExplorerGui: Updated to use the @GuiAction annotations.
* NEW: ExplorerGui: Added current page getters & setters.
* NEW: MapDetailGui: Updated to use the @GuiAction annotations.
* BUG: ActionGui: Fix event handler call if the method takes an 
  InventoryClickEvent as a parameter.
* BUG: ConfirmDeleteMapGui: Fix exception handling.
* BUG: ExplorerGui: Fix the hasData() method.
* BUG: ExplorerGui: Fix the empty indicator.
* BUG: ExplorerGui: Fix the keep*ScrollingSpace implementation.
* BUG: ExplorerGui: Fix item pickup when using coordinates.
* BUG: ExplorerGui: All callbacks can now take coordinates instead
  of data.
* OPT: ConfirmDeleteMapGui: Messages are now defined as constants.
* OPT: ConfirmDeleteMapGui: GUI's data is now final.
* OPT: MapDetailGui: Cleaned up GUI initialization a bit.
* OPT: MapListGui: Cleaned up ItemStack generation.
* OPT: MapDetailGui: Clarified UI tooltips.
2015-09-19 13:35:33 +02:00
Amaury Carrade
d25bf9bd0e Updated the details GUI and fixed list GUI only opening the details GUI for posters.
* NEW: added icons from the olg details GUI.
* NEW: rewrote the map parts items (from the old GUI).
* BUG: the list GUI don't open the details one when a single map is right-clicked.
2015-09-10 18:17:35 +02:00
Amaury Carrade
e5c7ece41f Updated explorer GUI to support manually placed data sets (with coordinates).
* NEW: updated the way the data emptiness is determined to avoid a GUI with manually placed data being considered as empty.
2015-09-10 18:00:36 +02:00
Amaury Carrade
58abd17205 Renamed /maptool manage to /maptool explore, and added the /maps alias.
* NEW: /maptool manage is now /maptool explore.
* NEW: added /maps as an alias of /maptool explore.
2015-09-10 16:30:29 +02:00
Amaury Carrade
5dbfd8caf9 Updated GUI titles to more clear and breadcrumb ones.
* NEW: using partial breadcrumbs in the GUI titles; also the important part of the title is written in black instead of gray.
2015-09-10 16:29:27 +02:00
Amaury Carrade
48af13118f Reused the old way the maps are displayed in the new GUI, with some tweaks.
* NEW: updated the maps tooltips in the list GUI, using the old display with « Single map » / « Poster map (42×68) » instead of the raw maps count.
2015-09-10 16:08:42 +02:00
Amaury Carrade
34b3a66220 Added an emptiness representation in the explorer GUI.
It's an item displayed on the center of the GUI if there isn't any data to display.

 * NEW: added an item displayed if the explorer GUI is empty.
 * NEW: implementation of this empty item in the list GUI.
 * NEW: small adjustments on the statistics (removed the last empty line from the lore)
 * BUG: the old method was still used to remove the item attributes (the one from the `gui` package).
2015-09-10 16:00:14 +02:00
Amaury Carrade
e7acbb36c4 Implemented the statistic books of the list GUI in the new architecture.
* NEW: added statistics to the new list GUI.
2015-09-10 15:27:09 +02:00
Amaury Carrade
1ddc923b73 Fixed explorer GUI to be able to use getSize() in onUpdate().
* BUG: getSize() always returns 0 in the onUpdate method of explorer GUIs.
2015-09-10 15:26:27 +02:00
Amaury Carrade
a403efcd4e Added an option to the explorer GUI: keep the scrolling area empty even without scrolls.
To be able to place controls, or by style/coherence if the developer wants that.

* NEW: added explicit options to keep the scrolling area empty even without scrolls.
2015-09-10 15:14:18 +02:00
Amaury Carrade
149e1225c1 Improved the pagination buttons of the explorer GUI.
* NEW: updated the pagination button to more clean ones, and through an overrideable method, to allow a more in-depth personalization if needed. The way used to implement this may be improved, but it's not very important.
* NEW: added a version of `ActionGui.updateAction` with only the action and an ItemStack as argument.
2015-09-10 01:40:29 +02:00
Amaury Carrade
e1f25a084d Implemented the deletion confirmation GUI with the new system.
* NEW: migrated the deletion confirmation GUI to the new system.
2015-09-10 01:37:05 +02:00
Amaury Carrade
80089c7bf5 Improved the GUI manager.
* NEW: reformatted the code a little bit to make it more readable.
* NEW: added Javadoc when it was missing.
* NEW: changed the name of the fallback action method in `ActionGui`, from `onAction_unknown` to `unknown_action` (coherence of the methods names).
* NEW: the action methods (both declared and unknown) can now take an extra argument: the triggered InventoryClickEvent. This argument is completely optional, so this will not break any code, and if the event is not needed, it can just be skipped.
* NEW: renamed the setData(int, int) method to setDataShape(int, int), because this method does not actually set any data.
2015-09-10 00:55:10 +02:00
Adrien Prokopowicz
efd62283ea * NEW: ActionGui: Added documentation. 2015-08-31 21:31:57 +02:00
Adrien Prokopowicz
54931ae078 * BUG: Gui: Use Player instead of HumanEntity to track Gui's owners. 2015-08-31 21:31:23 +02:00
Adrien Prokopowicz
a5449899f1 Finally finished the 2D Explorer API !
* 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.
2015-08-31 11:36:24 +02:00
Adrien Prokopowicz
0ad44db92b Keep working on the GUI API.
* 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.
2015-07-30 08:52:18 +02:00
Adrien Prokopowicz
586644e486 Added makeItem() utilities to GuiUtils.
* NEW: GuiUtils: Added makeItem() utilities.
* NEW: GuiUtils: Re-added the hideAttributes() method.
* NEW: ActionGui: Updated the action() methods to use the 
  GuiUtils.makeItem() utilities.
2015-07-24 19:58:56 +02:00
Adrien Prokopowicz
90968c6009 Implemented user interaction to ExplorerGui.
* NEW: ExplorerGui: Added interaction modes.
* NEW: ExplorerGui: Implemented user interaction.
* NEW: ExplorerGui: Added getPickedUpItem and onPutItem events.
* NEW: Gui: Added getInventory() getter.
* NEW: Added the GuiUtils module, which provides various utility methods.
2015-07-24 18:18:46 +02:00
Adrien Prokopowicz
6ecfc1a561 Added new Explorer GUI class (and tests).
* 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.
2015-07-19 16:58:10 +02:00
Adrien Prokopowicz
59f099a116 Added new Action GUI class (and tests).
* NEW: Added new Action GUI type.
* NEW: Added testing implementation of ConfirmDeleteMapGui.
* BUG: Newly opened GUIs are now correctly registered.
* BUG: GUI: Fixed NPE when first generating the inventory.
* BUG: GUIs opened from another GUI do not interfere anymore when
  the parent GUI is closed.
2015-07-15 02:24:27 +02:00
Adrien Prokopowicz
1ffc64e580 * BUG: GUI: Click events are now correctly forwarded to the Gui class. 2015-07-15 00:34:12 +02:00
Adrien Prokopowicz
9f279a2ba7 Merge origin/feature-explorer-gui-13 into feature-explorer-gui-13 2015-07-15 00:26:36 +02:00
Adrien Prokopowicz
654503aa56 Started working on a new GUI API.
* NEW: Added new Gui base class.
2015-07-15 00:25:29 +02:00
Amaury Carrade
e99eb8f79d Moar space for the maps in the detailed view.
* NEW: The preview of the map takes all the available space except a line and a column for the sliders. The other tools are placed between the horizontal sliders.
2015-07-14 04:39:26 +02:00
Amaury Carrade
4f3e856a73 Added some statistics on the maps list GUI.
* NEW: Added a book displaying statistics on the maps list GUI, with images rendered, Minecraft maps used, and Minecraft-maps-limits-related statistics if these limits exists.
2015-07-14 03:13:49 +02:00
Amaury Carrade
a3195327ac Added the “rename” button (not implemented yet)
* NEW: Rename button (yet to be implemented).
* OPT: Update of the GUIs to use the `open` method.
2015-07-13 21:55:39 +02:00
Amaury Carrade
ad9d57071b Added JavaDoc and updated the GUI API to prepare the future anvil API.
* NEW: JavaDoc on the GUI API
* NEW: Added a method to call to open the GUI (replacing the direct call to `player.openInventory()`.
2015-07-13 18:16:11 +02:00
Amaury Carrade
831a5214ed You can now delete an image through the GUI.
* NEW: Added a delete button to the details view.
* NEW: A click on the delete button opens a confirmation GUI with two big buttons, one to confirm, the other to cancel.
2015-07-12 23:03:01 +02:00
Amaury Carrade
d69e2aa34b Improved map parts preview with a checkerboard-like display.
* NEW: checkerboard-like display of the map part, alternating between paper and empty-map.
2015-07-12 16:26:01 +02:00
Amaury Carrade
7809c95d80 Added a map details GUI.
* NEW: Right-clicking on a GUI opens another one with details about the map.
* NEW: The details GUI displays the map on a screen with scrollbars to consult the map per-minecraft-map.
* NEW: Each part of the map can be taken independently.
2015-07-12 16:04:54 +02:00
Amaury Carrade
cd9b310aa2 Changed the images display in the GUI a little bit.
* NEW: The title of the tooltip of an image is now the name of this image (currently, “Map” everywhere).
* NEW: moved the map ID in the tooltip.
2015-07-12 03:16:38 +02:00
Amaury Carrade
bebac6e621 More intuitive way of getting the map(s) through the GUI.
* NEW: Single maps are intuitively taken from the GUI, like any other chest item (shift-click supported).
* NEW: The posters are still given (until the splatter map, see #11), but the inventory is no longer closed.
2015-07-12 03:03:53 +02:00
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
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
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
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
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