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.
In reply to SydMontague:
yes, i tested it with spigot too, but these features are superfluous for my purposes.
I am very happy with the beta!
thanks for your support! I thank you very much!
Very awesome. Thank you very much for the update. The plugin works perfectly with 1.16.2
Hello! Thanks for all the updates! I was hoping for a way to change the wooden hoe to another item -- we use that model in a custom RP with the magic plugin and can no longer place these in item frames. We also tried negating the imagemaps.toggleFixed and imagemaps.toggleVisible permissions but that removed the ability to interact with the itemframe entirely -- that might otherwise be a viable alternative if the tool is not able to be customized, if negating those permissions reverts to vanilla behavior rather than canceling the interact event altogether?
In reply to mercurialmusic:
I pushed an update to make the toggle item configurable and fixing that people without the permission can use the toggle item to interact normally with item frames—cancelling the interaction altogether was not intended in the first place.
Thanks for the report. :)
In reply to SydMontague:
Thank you!
I have tried that and its still not working
its not popping up when I do /pl
In reply to conversescum:
Is there anything in the logs? Is your server software up to date?
Hello, im trying to instal this onto my server. I put it on to my plugins folder and I reload, but when I did /pl it did not show up. im running the latest version of spigot. any help.
ps. I don't speak much English so excuse my grammar
In reply to conversescum:
Try a full restart of the server. Doing /reload is strongly advised against.
Also, check your server log for any potential errors.
Hello,
I tried this plugin and everything worked fine at the beginning.
But now I have a problem, every time I place a map, I can't see the picture and there is just an empty map shown.
I have this message :
[20:26:59 ERROR]: Could not render map using renderer net.craftcitizen.imagemaps.ImageMapRenderer
java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_261]
at java.lang.Class.forName(Class.java:264) ~[?:1.8.0_261]
at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103) ~[?:1.8.0_261]
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82) ~[?:1.8.0_261]
at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1181) ~[?:1.8.0_261]
at org.bukkit.map.MapPalette.imageToBytes(MapPalette.java:197) ~[patched_1.16.1.jar:git-Paper-112]
at org.bukkit.craftbukkit.v1_16_R1.map.CraftMapCanvas.drawImage(CraftMapCanvas.java:72) ~[patched_1.16.1.jar:git-Paper-112]
at net.craftcitizen.imagemaps.ImageMapRenderer.render(ImageMapRenderer.java:53) ~[?:?]
at org.bukkit.craftbukkit.v1_16_R1.map.CraftMapView.render(CraftMapView.java:158) ~[patched_1.16.1.jar:git-Paper-112]
at net.minecraft.server.v1_16_R1.WorldMap$WorldMapHumanTracker.a(WorldMap.java:470) ~[patched_1.16.1.jar:git-Paper-112]
at net.minecraft.server.v1_16_R1.WorldMap.a(WorldMap.java:347) ~[patched_1.16.1.jar:git-Paper-112]
at net.minecraft.server.v1_16_R1.ItemWorldMap.a(ItemWorldMap.java:339) ~[patched_1.16.1.jar:git-Paper-112]
at net.minecraft.server.v1_16_R1.EntityTrackerEntry.a(EntityTrackerEntry.java:97) ~[patched_1.16.1.jar:git-Paper-112]
at net.minecraft.server.v1_16_R1.EntityTrackerEntry.tick(EntityTrackerEntry.java:75) ~[patched_1.16.1.jar:git-Paper-112]
at net.minecraft.server.v1_16_R1.PlayerChunkMap.processTrackQueue(PlayerChunkMap.java:2039) ~[patched_1.16.1.jar:git-Paper-112]
at net.minecraft.server.v1_16_R1.PlayerChunkMap.g(PlayerChunkMap.java:2050) ~[patched_1.16.1.jar:git-Paper-112]
at net.minecraft.server.v1_16_R1.ChunkProviderServer.tickChunks(ChunkProviderServer.java:864) ~[patched_1.16.1.jar:git-Paper-112]
at net.minecraft.server.v1_16_R1.ChunkProviderServer.tick(ChunkProviderServer.java:742) ~[patched_1.16.1.jar:git-Paper-112]
at net.minecraft.server.v1_16_R1.WorldServer.doTick(WorldServer.java:455) ~[patched_1.16.1.jar:git-Paper-112]
at net.minecraft.server.v1_16_R1.MinecraftServer.b(MinecraftServer.java:1353) ~[patched_1.16.1.jar:git-Paper-112]
at net.minecraft.server.v1_16_R1.DedicatedServer.b(DedicatedServer.java:377) ~[patched_1.16.1.jar:git-Paper-112]
at net.minecraft.server.v1_16_R1.MinecraftServer.a(MinecraftServer.java:1212) ~[patched_1.16.1.jar:git-Paper-112]
at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:1000) ~[patched_1.16.1.jar:git-Paper-112]
at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[patched_1.16.1.jar:git-Paper-112]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_261]
I use a paper server in 1.16.1.
Is there a way to solve it ?
In reply to Forge_User_80968405:
I finally found the problem myself.
To render the map, you DON'T have to launch the server with a ssh xserver running (we have to remove options -XY when connecting to computer with SSH).
I hope it can help :)
help it says there is entities in the way of it and only places a bit of the image
In reply to snowyyyboy:
Is there an error in the console? Can you provide a screenshot of the situation?
The plugin really shouldn't place an image if any space is blocked. oO
How does the resizing in the place command work? For example /imagemap place [name] false false 3 3 does not work.
Still one of the best plugins!
In reply to Forge_User_35858341:
Add an x between the size.
-> /imagemap place [name] false false 3x3
However, it is strongly recommended to resize images using proper image software instead. It should lead to better results.
In reply to SydMontague:
Thanks!
This is litterally the best plugin ever, and so underated.
The person who made this is a straight up genius 10/10.
wOw.
Is there a way to resize the images within the game?
In reply to Pikampy:
There is a scale option in the command that will resize the image while maintaining the aspect ratio.
-> /imagemap yourimage.png scale X Y
However, I strongly recommend scaling the image manually using proper image manipulation tools, since you'll almost always get better results this way.
Theres an issue with image maps where some colors arent showing up on maps like they used to.