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.
@Scrydan
The plugin uses Bukkit's API to directly modify the runtime storage of the map. This means the map's itself don't get modified in a persistent way, leaving Minecraft's internals untouched.
So there is no way to create an fake area for the maps to use.
The plugin itself loads the image data on startup out of the maps.yml, where every 128x128 pixel part of an used image is assigned to a map id. If the image changes, but the file name stays the same, the map will update itself. The plugin will also always try to reuse map-ids for the same image.
When you remove an image from maps.yml or the plugin itself, it's maps will act as normal vanilla maps. In order to clean them up you'd have to remove their .dat file in the world folder.
I hope I could answer all your questions. :)
Very nice plugin. I do wonder, where do the maps get generated at? Just curious.
I'd be nice to know for "cleaning up purposes" in case you resize the image or what have you since the old maps/areas still exist. Plus I'd like to make a warp there. Thanks for the answer in advanced. :3
And as a future option, could it be configurable where you setup maps? That would be amazing.
Also the ability to "clean unused areas" as when you resize, some of those maps should get removed and deleted. At least that'd be great to have.
Edit: Or does this plugin "fake an area"? Which is actually good because it'd be easy to clean up unused maps.
Plugin resets itself periodically. Please read my ticket.
I released a plugin which allows you to use the 1.8.1 map palette with a 1.8 server, so the images will be displayed correctly for players using 1.8.1 clients.
See http://dev.bukkit.org/bukkit-plugins/mappalette/
@frash23
Unfortunately, Grum changed the map color palette in 1.8.1, so if you have a 1.8 server and someone is using a 1.8.1 client, the colors will be wrong. The problem is that the server and client are using different palettes.
EDIT: I managed to write a plugin which updates the server's palette to use the 1.8.1 palette. So that means people with 1.8.1 clients will see the correct colors. (But people with the 1.8 client will see the wrong colors.)
Plugin works! For some reason yesterday when I restarted the server all of the pictures were loaded (Kind of laggy though, as I kind of spammed all of the images in a desperate attempt for them to show up xD) Nice plugin though. Not going to use a bunch (Just one at spawn) in case of FPS drops. Very nice plugin though.
The plugin is working nicely for me, thanks :)
I took @Bobcat00 's palette map and converted it into a GIMP palette, which you can apply to any image by going into "Image > Mode > Indexed" very easily :)
Save this file as .css and you should be able to import it as a palette: http://pastebin.com/rWJe9WcH
@stuuuuuuarrt
Hm, are you using the latest version provided by Spigot? When I tested it, it worked, and as far as I know they did a few bug fixes since the inital release that could affect ItemFrames...
@SydMontague
Here ya go http://pastebin.com/BMax0BqD I hope I didn't leave anything out :O And I am running Spigot 1.8 :)
@stuuuuuuarrt
Could you pastebin the exact error message? Also, what server software do you use (e.g. CraftBukkit 1.7.10, Spigot 1.8 and so on)?
@SydMontague
Hmmm. Okay now it some what works. I place it down and it's there for a split second, then deletes. The only Error I get in the console is "ERROR: Could not pass event PlayerInteractEven to ImageMaps v0.4.1" Could another plugin be conflicting with it?
@stuuuuuuarrt
You need to add the file extension to the file name. (Or simply use tab complete) :)
Yeah I still get the Error in the console"Someone tried to create an image with an invalid file!" The command that I am doing is /imagemap Stuart true I tried renaming the file, but still the same message. Any suggestions?
@SydMontague
ahh,
that sounds perfect to me..
besides having to redo all images on the server...
will test it out, thx allot for the answer :)
At first, I was getting "Someone tried to create an image with an invalid block facing" And I was using stone for the backing. Then I tried it with wood, with the same images and I get "Someone tried to create an image with an invalid file!" The files are .jpg and .png Sorry I should of included this in my original comment
@stuuuuuuarrt
Do you have any (error)message in your log when you try to place the image?
Basically there are 3 conditions that can cause this message: 1. When there is not enough space (no console message) 2. When the file does not exist (console message) 3. When you clicked the top or bottom face of a block (console message)
Hi! Sorry if this sounds like a stupid question :P But when I do /imagemap <file> It tells me to right click a block, when I do so it tells me that it can't be placed there. Any idea why? I've tried smaller images and bigger ones, with more than enough space. Any help would be appreciated :D Thanks
Thanks a lot! I donated $5 to show my appreciation :)
@thief001
When you place an image with '/imagemap <file> true' it will send the map as a whole to your players, otherwise it will use Minecraft's default slow sending. The plugin also limites how many maps will be sent per second to spread out bandwidth usage. (This can be modified via the config)
@Liger_XT5
your using http://dev.bukkit.org/bukkit-plugins/imageonmap/ what i do too..
back to this plugin:
how do the frames get loaded? because with imageonmap it loads the "pictures" slow over time, so i had to use another plugin to quickload, but since i updated java, the loader dosent work anymore.. so getting a picture to get fully displayed, it takes a good while?
does this apply here too?