[API] MapManager 1.8.5-SNAPSHOT

API to display custom images on item frames & maps

  1. inventivetalent
    Tested Minecraft Versions:
    • 1.17
    Source Code:
    https://github.com/InventivetalentDev/MapManager
    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
    Code (Java):

    try {
        //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
    Code (YAML):

    # If vanilla maps should be allowed to be sent to the players (less efficient, since we need to check the id of every sent map)
    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
     

    Maven
    [​IMG]





    Code (spiget-meta (Unknown Language)):
    SlZOd2EkUm9kI1J3YW1GeUooVWtXa2QzZFdGPk4rSmFWelV3WVZoYWJHUiNSbk5hVnpVdytHMDVlVnAzUCswa0okUk1NMEp6WkZka2NHSnBPRDBrSiRSalIzZypXakpzZFZ7Vk1XaGpSK0ZvWW0xR2JscFkkVzFrYlZaNVl6SnNkbUpxTUcqa2JWWjVZekpzZG1KcFYrMGtSMlYwSlE9PQ==
    Links
    adammario6556, Mengx, wizzzle and 7 others like this.

Recent Updates

  1. 1.17 support
  2. Compatibility
  3. fixes

Recent Reviews

  1. strahil211
    strahil211
    1/5,
    Version: 1.8.1-SNAPSHOT
    Download takes you to an unsafe external site full of Ads. Had to pull the jar from github to bypass this. Will edit review once download button stops taking me to an external site asking to disable Adblocker
  2. danil20028191
    danil20028191
    1/5,
    Version: 1.8.1-SNAPSHOT
    [20:47:37] [Server thread/ERROR]: Could not load 'plugins\MapManager.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: org/inventivetalent/mapmanager/MapManagerPlugin has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:141) ~[patched_1.16.5.jar:git-Paper-675]
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:397) ~[patched_1.16.5.jar:git-Paper-675]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:305) ~[patched_1.16.5.jar:git-Paper-675]
    at org.bukkit.craftbukkit.v1_16_R3.CraftServer.loadPlugins(CraftServer.java:389) ~[patched_1.16.5.jar:git-Paper-675]
    at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:252) ~[patched_1.16.5.jar:git-Paper-675]
    at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1066) ~[patched_1.16.5.jar:git-Paper-675]
    at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:290) ~[patched_1.16.5.jar:git-Paper-675]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_291]
    Caused by: java.lang.UnsupportedClassVersionError: org/inventivetalent/mapmanager/MapManagerPlugin has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
    at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_291]
    at java.lang.ClassLoader.defineClass(Unknown Source) ~[?:1.8.0_291]
    at java.security.SecureClassLoader.defineClass(Unknown Source) ~[?:1.8.0_291]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:178) ~[patched_1.16.5.jar:git-Paper-675]
    at org.bukkit.plugin.java.JavaPluginLoader.getClassByName(JavaPluginLoader.java:216) ~[patched_1.16.5.jar:git-Paper-675]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:122) ~[patched_1.16.5.jar:git-Paper-675]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:111) ~[patched_1.16.5.jar:git-Paper-675]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_291]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_291]
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_291]
    at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_291]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:79) ~[patched_1.16.5.jar:git-Paper-675]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:137) ~[patched_1.16.5.jar:git-Paper-675]
    ... 7 more
  3. SrPattif
    SrPattif
    1/5,
    Version: 1.8.0-SNAPSHOT
    [20:11:10] [Server thread/INFO]: [MapManager] Disabling MapManager v1.7.10-SNAPSHOT
    [20:11:10] [Server thread/ERROR]: Error occurred while disabling MapManager v1.7.10-SNAPSHOT (Is it up to date?)
    java.lang.NullPointerException: null
    at org.inventivetalent.mapmanager.MapManagerPlugin.onDisable(MapManagerPlugin.java:125) ~[?:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:265) ~[server.jar:2991-Spigot-018b9a0-f3f3094]
    at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:376) ~[server.jar:2991-Spigot-018b9a0-f3f3094]
    at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:501) ~[server.jar:2991-Spigot-018b9a0-f3f3094]
    at org.inventivetalent.mapmanager.MapManagerPlugin.onEnable(MapManagerPlugin.java:65) ~[?:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[server.jar:2991-Spigot-018b9a0-f3f3094]
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351) ~[server.jar:2991-Spigot-018b9a0-f3f3094]
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480) ~[server.jar:2991-Spigot-018b9a0-f3f3094]
    at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugin(CraftServer.java:494) ~[server.jar:2991-Spigot-018b9a0-f3f3094]
    at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugins(CraftServer.java:408) ~[server.jar:2991-Spigot-018b9a0-f3f3094]
    at net.minecraft.server.v1_16_R3.MinecraftServer.loadWorld(MinecraftServer.java:435) ~[server.jar:2991-Spigot-018b9a0-f3f3094]
    at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:218) ~[server.jar:2991-Spigot-018b9a0-f3f3094]
    at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:809) ~[server.jar:2991-Spigot-018b9a0-f3f3094]
    at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[server.jar:2991-Spigot-018b9a0-f3f3094]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_291]

    fix this bro watta cringe
  4. OllieJW
    OllieJW
    1/5,
    Version: 1.8.0-SNAPSHOT
    adfly is very very very very very very very very very very very very very very very very cring
  5. __Vekster007__
    __Vekster007__
    4/5,
    Version: 1.8.0-SNAPSHOT
    [13:10:55 WARN]: [MapManager] Task #6940 for MapManager v1.8.0-SNAPSHOT generated an exception
    java.util.ConcurrentModificationException: null
    at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1013) ~[?:?]
    at java.util.ArrayList$Itr.next(ArrayList.java:967) ~[?:?]
    at org.inventivetalent.mapmanager.MapSender.sendMap(MapSender.java:71) ~[?:?]
    at org.inventivetalent.mapmanager.MapSender$1.run(MapSender.java:57) ~[?:?]
    at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:63) ~[TacoSpigot-latest.jar:git-TacoSpigot-"f8ba67d6"]
    at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:415) [TacoSpigot-latest.jar:git-TacoSpigot-"f8ba67d6"]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:833) [TacoSpigot-latest.jar:git-TacoSpigot-"f8ba67d6"]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:427) [TacoSpigot-latest.jar:git-TacoSpigot-"f8ba67d6"]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:767) [TacoSpigot-latest.jar:git-TacoSpigot-"f8ba67d6"]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:665) [TacoSpigot-latest.jar:git-TacoSpigot-"f8ba67d6"]
    at java.lang.Thread.run(Thread.java:832) [?:?]
    [13:10:55 WARN]: [MapManager] Task #6940 for MapManager v1.8.0-SNAPSHOT generated an exception
    java.util.ConcurrentModificationException: null
    at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1013) ~[?:?]
    at java.util.ArrayList$Itr.next(ArrayList.java:967) ~[?:?]
    at org.inventivetalent.mapmanager.MapSender.sendMap(MapSender.java:71) ~[?:?]
    at org.inventivetalent.mapmanager.MapSender$1.run(MapSender.java:57) ~[?:?]
    at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:63) ~[TacoSpigot-latest.jar:git-TacoSpigot-"f8ba67d6"]
    at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:415) [TacoSpigot-latest.jar:git-TacoSpigot-"f8ba67d6"]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:833) [TacoSpigot-latest.jar:git-TacoSpigot-"f8ba67d6"]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:427) [TacoSpigot-latest.jar:git-TacoSpigot-"f8ba67d6"]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:767) [TacoSpigot-latest.jar:git-TacoSpigot-"f8ba67d6"]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:665) [TacoSpigot-latest.jar:git-TacoSpigot-"f8ba67d6"]
    at java.lang.Thread.run(Thread.java:832) [?:?]
  6. TeemoCell
    TeemoCell
    1/5,
    Version: 1.7.10-SNAPSHOT
    Not working anymore. Getting the same error as Onoca. Had to removed it. Same for Animated frames.
  7. Onoca
    Onoca
    2/5,
    Version: 1.7.9-SNAPSHOT
  8. stijnb1234
    stijnb1234
    5/5,
    Version: 1.7.5-SNAPSHOT
    Great API and the support by the developer is also great! Thanks for this API. ,
  9. Govindas
    Govindas
    5/5,
    Version: 1.7.3-SNAPSHOT
    This is a great API. the 1.7.0 version works well on 1.12.2 paper if anyone is having issues on 1.12.2
  10. noemi1998_
    noemi1998_
    1/5,
    Version: 1.7.3-SNAPSHOT
    What the Fuck is this? Cancerous download and wrong version? wtf? stop that shit