Source: https://www.spigotmc.org/resources/api-mapmanager.19198/
- Source Code:
- https://github.com/InventivetalentDev/MapManager
- Donation Link:
- https://www.patreon.com/inventivetalent
This API allows you to display custom images on maps and to send individual maps to players.
Its main feature is the support for rapid map updates (as in AnimatedFrames), since the map data can be sent to players and you can later change the map displayed in an item frame or in the player’s inventory.
Usage
//Get the MapManager instance
MapManager mapManager = ((MapManagerPlugin) Bukkit.getPluginManager().getPlugin(“MapManager”)).getMapManager();//Wrap the local file “myImage.png”
MapWrapper mapWrapper = mapManager.wrapImage(ImageIO.read(new File(“myImage.png”)));
MapController mapController = mapWrapper.getController();//Add “inventivetalent” as a viewer and send the content
mapController.addViewer(Bukkit.getPlayer(“inventivetalent”));
mapController.sendContent(Bukkit.getPlayer(“inventivetalent”));
//At this point, the player is able to see the image
//So we can show we can show it in ItemFrames
mapController.showInFrame(Bukkit.getPlayer(“inventivetalent”), null /* <Item Frame Object > */);
//or just as an Item
mapController.showInHand(Bukkit.getPlayer(“inventivetalent”));
} catch (IOException e) {
e.printStackTrace();
}
For more details, check out the Javadocs.
Depends on PacketListenerAPI!
Commands
/mapmanager reload – Reloads the configuration
Permissions
mapmanager.reload – Permission to reload the config
Config
allowVanilla: true# Change this to a higher number to “preserve” a number of map IDs that won’t be used by MapManager plugins
# Please note that increasing this too much limits the amount of maps that plugins can create
forcedOffset: 0# If the plugin checks for duplicate images before creating a new one (Less efficient when first creating a image, but more efficient overall)
checkDuplicates: true
# Cache the packet data in the image object (less CPU intensive for a lot of players, but probably a bit more memory intensive depending on the image size)
cacheData: true
sender:
# Delay between map packets (ticks)
delay: 2
# Maximum amount of map packets sent at once
amount: 10
# Allow immediate sending of map data
allowQueueBypass: true
# Enable this if you are using PaperSpigot (and/or you get this error: http://paste.inventivetalent.org/damuhonebu)
paperSpigot: false
Links