ImageMaps
ImageMaps
ImageMaps is a plugin for Bukkit Minecraft servers that enables you to place custom images in your world by rendering them onto maps and placing them in item frames.
This can be used to create info graphics, custom paintings and even the appearance of custom textures.
Installation
You will need a Server that implements Bukkit 1.13 or newer and the Spigot-API. Some features are only available in newer releases. Make sure to use the latest release of your server software before reporting issues.
Put the plugin into your servers plugins
folder and start it up. A folder for the plugin will be created automatically. You can place your images in the images
folder inside it.
Upgrading from versions < 1.0.0
The plugin should convert your maps.yml automatically. It will attempt to create a backup before doing so, but it is recommended to do one manually as well.
Usage
In order for you use place images they must be present in the images
folder. You can either put them there via FTP or just copying it, or by using the plugin's download command, allowing you to access images from the Internet.
To place images just run the /imagemap place
command and right click the block that should be the upper left corner of the image (based on your perspective).
Images will by default split into 128x128 pixel sub-images to fit on a map. The image may be scaled via command parameters, however it is recommended to prepare correctly scaled images.
The color palette of Minecraft maps is very limited, requiring the plugin/Bukkit to convert the input image. This will result in your images looking different ingame than the source. The available color table can be found here: https://minecraft.gamepedia.com/Map_item_format#Color_table
The invisible and fixed item frame properties are only available in 1.16+. You can modify them for any item frame by using a configurable (default a wooden hoe) items. Right click to toggle visibility and Shift+Right click to toggle the fixed state.
Commands
- /imagemap place <filename> [frameInvisible] [frameFixed] [frameGlowing] [size]
- Starts the placement process
- frameVisible and frameFixed are only available on 1.16+
- frameGlowing is only available on 1.17+
- /imagemap download <filename> <sourceURL>
- downloads an image from the given URL into the
images
folder
- downloads an image from the given URL into the
- /imagemap delete <filename>
- deletes an image from the
images
folder
- deletes an image from the
- /imagemap info <filename>
- prints info, such as resolution and expected size
- /imagemap reload <filename>
- reloads an image, to be used when the image file changed
- /imagemap list [page]
- lists all images in the
images
folder
- lists all images in the
- /imagemap help [command]
- prints help for commands
Permissions
imagemaps.*
- grants access to all permissions
imagemaps.place
- grants access to /imagemap place command
imagemaps.download
- grants access to /download place command
imagemaps.delete
- grants access to /imagemap delete command
imagemaps.info
- grants access to /imagemap info command
imagemaps.list
- grants access to /imagemap list command
imagemaps.reload
- grants access to /imagemap reload command
imagemaps.help
- grants access to /imagemap help command
imagemaps.toggleFixed
- allows to toggle the "fixed" state of frames with a wooden hoe
imagemaps.toggleVisible
- allows to toggle the "visible" state of frames with a wooden hoe
All permissions are default true for OPs.
Maven
You will need to configure your environment to access GitHub repositories.
<repository>
<id>github</id>
<name>ImageMaps repository</name>
<url>https://maven.pkg.github.com/SydMontague/ImageMaps</url>
</repository>
<dependency>
<groupId>net.craftcitizen</groupId>
<artifactId>imagemaps</artifactId>
<version>1.0.1</version>
</dependency>
This plugin has been developed for the CraftCitizen survival Minecraft server.
@SydMontague
I am having the same problem.. It happens when you tp from one world to another.. When you enter the world where the images are in (and if you have a few images) only parts of it (sometimes nothing) will load in.. I am using multiverse and spigot :)
@TheBlackBeltPanda @aasikki @jonghyek
I have problems reproducing the error locally... Looking at the code there is nothing that should be able to break, as it fully uses the Bukkit API (which didn't get changed) for handling the maps...
I have the feeling the Spigot Team or Mojang fucked up Maps in 1.8 >_>
Having an issue where the images won't load; mostly after teleporting: http://i.imgur.com/0RYLW6I.png
Running ImageMaps 0.4.1 on Spigot 1.8.8
@jonghyek
For me the images sometimes load and sometimes not. Maybe this has something to do with fastsend? For me the images not loading when changing worlds are always the same and some pictures will always load fine.
im not sure how to get the pictures on the blocks... not working
with multiworld plugin, the image is not work when I move to other world.
@SydMontague
Uhm ok something is horribly wrong with Cauldron, cause it does ONLY create the 0 for map 0, and the image is 1500x1000, so it did not create the rest from 1-27 :/ Thats also kinda why i report this, cause it repeats map 0 all 27 times :((
@LokeYourLord
The '0' is the map ID you're looking for. It stands for the ID, so changing it to '1' would cause the plugin to display the image on map_1 (-> 358:1) instead of map_0. "image" in this case doesn't stand for the file you stored into you images folder, but for a part of it. E.g. if you have a 256x256 file and want to create an ingame representation of it with my plugin, you'll get a 2x2 item frame construction and 4 entires for it in the maps.yml with different x and y coordiantes. If this does not happen for you, something is horrible wrong with cauldron.
-> This would be the config for a 128x256 image
@SydMontague
Well but it doesnt add that to the config, because if you see my point, i can make an illustration. So here is the when i put an image onto a wall and that has the ID 0:
Thats the standard config, BUT if the config would for every frame add its ID like this:
(That 1: defines the first map thats inside the first item frame) It would allow me to actually change the sub ID of each map, so when it would for Cauldron look like this:
I could in the config change all those 0 to their corresponding numbers manually, of course that is hassle but would work. Anyways as i said you dont have to do it by all means, but it would be good for your plugin if it is the ONLY plugin like this that actually works on Cauldron.
@LokeYourLord
It does assign an unique ID for every image tile (128x128 part of an image), which means - in case you place one image only once - an unique ID for every placed frame. If you get a map with the ID specified in the config you should get another part of the image.
-> The plugin already does (or should do) what you think would fix the problem.
@SydMontague
Well not like that, i see the assigned IDs but i mean for every frame it places, not just the whole thing, that would fix it. But as i said i wont blame you for it, Cauldron has always made some problems and else most stuff works as it should, but ye small problems can occur :/ Would still love this to work with Cauldron though.
@LokeYourLord
I actually give every frame an unique ID already. The problem with Cauldron seems to be, that it doesn't recognize this while placing the item frames ingame and instead just uses ID 0 for every placed map. This is 100% not intended (nor documented) behaviour.
You should be able to view the assigned IDs in your maps.yml.
@SydMontague
Well technically you could by simply making it so that every frame has a unique ID as i already said. Just give every frame that holds a picture a seperate ID that i incase can redefine in the config, would fix it but im not sure if you have the time or the will to do that for Cauldron. Thanks anyways.
@LokeYourLord
The '0' is the MapID of the tile. When you change it, it will process that image on the map with that ID. The plugin uses whatever mapIDs are not taken yet and usually should place the right map in the item frames.
The problem itself seems to be caused by Cauldron, as the plugin worked with 1.7.10 builds of CraftBukkit. Sorry, there is not much I can do about. :(
Does not work correctly on 1.7.10 Cauldron, if i take a look at all the maps, all the map IDs are 0, is there any way that you can make it so every tile in the maps.yml (all the maps that are used) are labeled from like 0-x so it uses the correct map id? So for example in the maps.yml it says:
'0': image: zd.jpg x: 1408 y: 896 fastsend: false Map IDs 1: 358:0 2: 358:1
You get what i mean, because on my Cauldron server, it only uses Map 0, so it repeats the whole image, wich sucks :/
Works perfectly for me in 1.8.3 R0.1.
Thanks for the awesome plugin! :)
Using it for an in-game poster shop aha
-Sam
@jonghyek
Hvae you tried it? In theory it should work with 1.8.3...
I want to using 1.8.3 spigot, but this plugin not support yet.
update please! and thank you so much xD
@TheBlackBeltPanda
Wow... Thank you for the link - I wasn't aware someone uploaded my plugin on Spigot (and even an outdated version, that doesn't work with 1.8).
Is this your upload? Looked a bit suspicious. =)
http://www.spigotmc.org/resources/service-imagemaps-45-free-version-volumen-1-0-1.6726/