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.
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/
@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.