All Mods Resource Packs Data Packs Shaders Modpacks Plugins
ImageFrame

ImageFrame

by LOOHP • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

Speak a language that is not supported by ImageFrame yet? We would appreciate it if you contribute on Crowdin!


About

Want to display information on your server in a fancy way? Or maybe you want to display a nice animated TV screen in your home base? Then this is the plugin for you!

Want HD and Full-color Images? Check out ImageFrame Client, the complimentary mod for ImageFrame!

Videos

Want video demonstrations? Here are some videos made by some awesome people! Video by ServerMiner in English:

Video by KasaiSora in English:

Features

1. Load Images onto Maps and Item Frames

  • Load images from URLs!
  • PNG, JPEG, WEBP & GIFs are supported!
  • Get them in Map form or directly on Item Frames! (Select your Item Frames with the smart selection tool!)
  • Automatic image fitting means your images won't be stretched!

2. Even Works with Animated GIFs!

  • Images will be animated if they are GIFs!
  • Animated up to 1/20 of a second!
  • Animation tasks run asynchronously

3. Define Custom Width and Height

  • Have your image span across multiple maps
  • Automatic image fitting works across all sizes too!
  • Ideal for displaying on Item Frames!

^ These metro platform signs look awesome, don't they? Put together with ImageFrame and invisible glowing item frames!

4. Add Overlays to Regular Vanilla Maps!

  • Create an image map with a regular vanilla map in your hand
  • Or across multiple maps via selecting them in item frames!

^ Notice the extra text with a blue background at the top of the map?

5. Combined ImageMap for Easy Placement!

  • Get an entire multi-part ImageMap as one combined item!
  • Automatically searches for space to place the ImageMap on an Item Frame wall (or floor/ceiling)
  • The clicked Item Frame is treated as top-left if there is enough space
  • When broken, the whole combined map is removed with a single combined map returned!
  • Respect Item Frame protections on other plugins! (via calling Bukkit events)

^ The hearts particle is from another plugin which listens to the EntityDamageEvent ^ Built-in Invisible Item Frames System

6. Refresh Maps Easily!

  • Refresh all copies of the same image map from the URL source in one simple command!
  • Ideal for displaying information that you'll have to update across your server every once a while, without having to go and replace every single one

^ I've uploaded and replaced the TNT block with the grass block at the source URL, and I am holding 1 of the 4 maps in my hand

7. Add Map Markers To Your Images!

  • Any map icon can be used! Such as the mansion and temple icons on Vanilla cartographer maps!
  • They can also have an optional line of text below them
  • Configurable max markers per map
  • Ideal for marking locations on custom image maps!

8. Survival Friendly

  • Require players in survival to have empty maps in their inventory to be able to create image maps (using player commands)
  • Even works when directly creating images on Item Frames or getting the Combined ImageMap item!
  • Configurable in the config

9. Easy to Keep Track and Manage

  • Commands available to help you (both as players and admins) manage your (or everybody's) created image maps
  • Ability to give access to ImageMaps to other players!
  • Different permission levels for different players you decided to share maps with.
  • Such as listing all maps of a player, renaming etc.
  • Option to set an image creation limit per player (Can be different for each player!)
  • Option to set a maximum size for a single image frame! (Customizable as always)
  • Migration available for ImageMap, ImageOnMap and DrMap (Message me for more plugin support requests)

10. Invisible Item Frames

  • Built-in support for survival-friendly invisible item frames!
  • Splash item frame items with invisibility potions to obtain.
  • Can adjusted in the config.

11. Languages

  • All player-facing messages are translated to different languages depending on the player's client language.
  • If the language you speak is not yet supported, please contribute on Crowdin so we can build a better plugin for everyone together!

12. Complementary Mod

  • Check out this complementary mod, which lets you see images in HD, full colours, and more!

13. Multi-Server Support

  • With MySQL storage support, you can have the same maps across multiple servers in your server network! (Plugin does not need to be installed on the Bungeecord/Velocity proxy)

Dependencies

  • None!

Installation

  1. Put ImageFrame.jar into the plugins folder along with the required dependencies
  2. Start the server
  3. Edit the config (if you need to)
  4. Restart the server (if you changed something in the config in step 3)

Development Builds

Jenkins

Showcase Server

Want to see the plugin in action?

IP: mc.loohpjames.com

Commands

Legend: For command ""/"" arguments, You can access another players map if you have permission through this syntax: ":"

For example: /if get LOOHP:map combined

Administration:

/imageframe reload - Reloads the plugin
/imageframe update - Check for updates
/imageframe storagemigrate - Storage type migration

Player:

/imageframe select - Select item frames to put image maps on
/imageframe create <name> <url> <width> <height> - Create a new image map
/imageframe create <name> <url> selection - Create a new image map and put it directly in your selected item frames
/imageframe create <name> <url> <width> <height> combined - Create a new image map and get its Combined ImageMap item
/imageframe overlay <name> <url> - Create a new image map that adds an overlay on a Minecraft Vanilla map you are holding
/imageframe overlay <name> <url> selection - Create a new image map that adds an overlay on a Minecraft Vanilla map in your selected item frames
/imageframe clone <name> <new_name> - Create a new image map with the same properties as the old one
/imageframe clone <name> <new_name> selection - Create a new image map with the same properties as the old one and put it directly in your selected item frames
/imageframe clone <name> <new_name> combined - Create a new image map with the same properties as the old one and get its Combined ImageMap item
/imageframe playback <name> pause - Toggle pause for an animated image map
/imageframe playback <name> jumpto <seconds> - Jump to a specific second for an animated image map
/imageframe refresh [optional:image_name] [optional:new_url] - Refresh a map you've created from source url
/imageframe info - Get info related to the image map you are holding
/imageframe get <name> - Get a self-created pre-existing image map
/imageframe get <name> selection - Put a self-created pre-existing image map directly on your selected item frames
/imageframe get <name> combined - Get a self-created pre-existing image map in its Combined ImageMap form
/imageframe delete <name> - Delete a self-created pre-existing image map
/imageframe rename <name> <new_name> - Rename a self-created pre-existing image map
/imageframe list - List all self-created pre-existing image maps
/imageframe marker add <image_name> <marker_name> <direction:0-15> <marker_type> [optional:caption] - Add a marker to your map
/imageframe marker remove <image_name> <marker_name> - Remove a marker from your map
/imageframe marker clear <image_name> - Clear all markers from your map
/imageframe setaccess <name> <player> <permission> - Set access permission of other players for your map

Moderation:

/imageframe list <player> - List a player's pre-existing image maps
/imageframe giveinvisibleframe <glowing/regular> [amount] [player] - Give invisible item frame items
/imageframe adminsetcreator <image_id> <player> - Change the creator of an image map
/imageframe adminmigrate <ImageMap/DrMap/ImageOnMap> - Migrate data from the selected and supported third-party plugin

Permissions

permissions:
  imageframe.create:
    default: op
    description: Allow players to create new image maps
  imageframe.create.animated:
    default: op
    description: Allow players to create new animated image maps
  imageframe.create.others:
    default: op
    description: Allow players to create image maps for other players, applies to overlay and clone, bypasses owning limit
  imageframe.overlay:
    default: op
    description: Allow players to overlay images on Vanilla maps
  imageframe.clone:
    default: op
    description: Allow players to make deep copies of their own image maps
  imageframe.playback:
    default: op
    description: Allow players to pause or set position of playback of their own animated image maps
  imageframe.select:
    default: op
    description: Allow players to select item frames
  imageframe.marker:
    default: op
    description: Allow players to add and remove markers on image maps
  imageframe.marker.unlimited:
    default: op
    description: Allow players to add unlimited markers on image maps
  imageframe.refresh:
    default: op
    description: Allow players to refresh image maps
  imageframe.rename:
    default: op
    description: Allow players to rename image maps
  imageframe.info:
    default: true
    description: Allow players to view image map data
  imageframe.list:
    default: true
    description: Allow players to list all image maps they've created
  imageframe.list.others:
    default: op
    description: Allow players to list all image maps a player have created
  imageframe.delete:
    default: op
    description: Allow players to delete an image map they've created
  imageframe.purge:
    default: false
    description: Allow players to purge all image maps created by a specific player
  imageframe.purge.all:
    default: false
    description: Allow players to purge all image maps at once
  imageframe.get:
    default: op
    description: Allow players to get an image map they've created
  imageframe.setaccess:
    default: op
    description: Allow players to change access permissions of their image maps
  imageframe.adminbypass:
    default: op
    description: Bypass all access restrictions and allow users to use and modify any image map
  imageframe.adminsetcreator:
    default: op
    description: Allow players to change the creator of any image map via the image map id
  imageframe.admindelete:
    default: op
    description: Allow players to delete any image map via the image map id
  imageframe.adminmigrate:
    default: op
    description: Allow players to migrate maps from supported plugins to ImageFrame
  imageframe.preference:
    default: true
    description: Allow players to update their player preferences
  imageframe.preference.others:
    default: op
    description: Allow players to update other players' player preferences
  imageframe.giveinvisibleframe:
    default: op
    description: Allow players to give invisible item frames
  imageframe.reload:
    default: op
    description: Allows you reload the config file
  imageframe.resync:
    default: op
    description: Allows you force sync changes from storage
  imageframe.storagemigrate:
    default: op
    description: Allows you to send data to a different storage type
  imageframe.update:
    default: op
    description: Allows you receive update messages

Default Config

Latest Config with Descriptions

Data usage

Usage statistics at https://bstats.org/plugin/bukkit/ImageFrame will be visible to the public with your server included in the statistics. No private information of your server is sent. Update checking is also done via https://api.loohpjames.com to notify you whenever a new version is released. No private information of your server is sent.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.3 26.2 26.1.x +6
Folia Paper Purpur Spigot
22h ago 1
26.2 26.1.x 1.21.x +5
Folia Paper Purpur Spigot
22h ago 1
26.2 26.1.x 1.21.x +5
Folia Paper Purpur Spigot
22h ago 1
26.1.x 1.21.x 1.20.x +4
Folia Paper Purpur Spigot
22h ago 1
26.1.x 1.21.x 1.20.x +4
Folia Paper Purpur Spigot
22h ago 1
26.1.x 1.21.x 1.20.x +4
Folia Paper Purpur Spigot
22h ago 1
26.1.x 1.21.x 1.20.x +4
Folia Paper Purpur Spigot
22h ago 1
26.1.x 1.21.x 1.20.x +4
Folia Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +4
Folia Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +4
Folia Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Purpur Spigot
22h ago 1
1.21.4 1.20.6 1.19.4 +3
Folia Paper Purpur Spigot
22h ago 1
1.21.4 1.20.6 1.19.4 +3
Folia Paper Purpur Spigot
22h ago 1
1.21.4 1.20.6 1.19.4 +3
Folia Paper Purpur Spigot
22h ago 1
1.21.4 1.20.6 1.19.4 +3
Folia Paper Purpur Spigot
22h ago 1
1.21.4 1.20.6 1.19.4 +3
Folia Paper Purpur Spigot
22h ago 1
1.21.3 1.20.6 1.19.4 +3
Folia Paper Purpur Spigot
22h ago 1
1.21.1 1.20.6 1.19.4 +3
Folia Paper Purpur Spigot
22h ago 1
1.21 1.20.6 1.19.4 +3
Folia Paper Purpur Spigot
22h ago 1
1.20.6 1.19.4 1.18.2 +2
Folia Paper Purpur Spigot
22h ago 1
1.20.4 1.19.4 1.18.2 +2
Folia Paper Purpur Spigot
22h ago 1
1.20.2 1.19.4 1.18.2 +2
Folia Paper Purpur Spigot
22h ago 1
1.20.1 1.19.4 1.18.2 +2
Folia Paper Purpur Spigot
22h ago 1
1.20 1.19.4 1.18.2 +2
Paper Purpur Spigot
22h ago 1
1.19.4 1.18.2 1.17.1 +1
Paper Purpur Spigot
22h ago 1
1.19.4 1.18.2 1.17.1 +1
Paper Purpur Spigot
22h ago 1
1.19.3 1.18.2 1.17.1 +1
Paper Purpur Spigot
22h ago 1
1.19.3 1.18.2 1.17.1 +1
Paper Purpur Spigot
22h ago 1
1.19.3 1.18.2 1.17.1 +1
Paper Purpur Spigot
22h ago 1
1.19.3 1.18.2 1.17.1 +1
Paper Purpur Spigot
22h ago 1
1.19.3 1.18.2 1.17.1 +1
Paper Purpur Spigot
22h ago 1
1.19.3 1.18.2 1.17.1 +1
Paper Purpur Spigot
22h ago 1
1.19.x 1.18.2 1.17.1 +1
Paper Purpur Spigot
22h ago 1
  • Support for Minecraft 26.3
  • Support for Minecraft 26.2
  • More dithering algorithms
  • Plugin will now attempt to find the image when given an indirect link
  • Plugin will now attempt to find the image when given an indirect link
  • Upload webpage now also translatable
  • Fixed issue when getting new map id on 26.1 when the world has no maps
  • Please delete the upload folder in the ImageFrame plugin folder before starting the server after updating the JAR.
If you do not do this, the webpage will not be updated to the new version.**
  • Improved upload server & webpage
  • Upload server webpage messages are now translatable
  • Fixed issue when getting new map id on 26.1
  • Support for Minecraft 26.1.2
  • Support for Minecraft 26.1.1
  • Upload server failing to bind to port no longer causes the plugin to not enable
  • Upload URL messages now explicitly have click events on the URL part
  • Added experimental support for ImageFrame Client for 1.21.4, 1.21.8, 1.21.10, & 1.21.11 clients
  • Improved how ImageMap loaders and media loaders are registered for addons support
  • Added beta support for cross-server MySQL storage support
  • Fixed a problem with grindstones
  • Internationalization for player-facing messages through community crowdsourcing!
  • Added config option to have maps combined by default
  • Internationalization for player-facing messages through community crowdsourcing!
  • Added config option to have maps combined by default
  • Speak a language that is not supported by ImageFrame yet? We would appreciate it if you contribute on [Crowdin](https://crowdin.com/project/imageframe)!*
  • Fixed a critical problem where animated maps won't load a second time, introduced in 1.8.7.3
  • Fixed a first time initialization error
  • Fixed a problem with grindstones
  • Added beta support for cross-server MySQL storage support
  • This version contains a critical bug that is fixed in 1.8.7.4. Please do not use this version.*
  • Improved how ImageMap loaders and media loaders are registered
  • This enables feature addons to support more input formats
  • Support for Minecraft 1.21.10
  • Support for Minecraft 1.21.8
  • Support for Minecraft 1.21.7
  • Support for Minecraft 1.21.6
[1.8.2] Hot Fix (1.8.2) by LOOHP on Oct 12, 2026
Download
  • Fixed a bug where images only appear after restart
[1.8.1] Hot Fix (1.8.1) by LOOHP on Oct 12, 2026
Download
  • Reverted old image cache strategy by default
  • Made try delete empty map files false by default
  • These options can be toggled in the config instead for the time being
  • Fixed fakeMapIdsSet could be null
  • Fixed recipe methods doesn't exist on old versions
  • Support for Minecraft 1.21.5
  • Added embedded upload service feature
  • Added playback papi placeholders
  • Added survival-friendly way to obtain invisible item frames
  • Various bug fixes
### If you do not want to use the embedded upload service feature, make sure to edit the config as follows after you update.
``yml
#ImageFrame's convenient upload system where you can upload directly through an embedded web server
UploadService:
#Changing this value requires a restart
Enabled: false
`
### If you do not want to use the survival-friendly way to obtain invisible item frames feature, make sure to edit the config as follows after you update.
`yml
InvisibleFrame:
# Survival friendly way to get invisible item frames by splashing dropped items with invisibility potions
# Set to -1 for unlimited
# Set to 0 to disable
MaxConversionsPerSplash: 0
``
  • Beta testing for an embedded upload service for you to upload images directly to the server via a web page
  • To set this up, you might to unblock your chosen port for the web server. It would be similar to how you setup plugins like dynmap or bluemap.
  • To use this feature in-game, type upload in places where you need to provide a url.
### If you do not want to use this feature, make sure to edit the config as follows after you update.
``yml
#ImageFrame's convenient upload system where you can upload directly through an embedded web server
UploadService:
#Changing this value requires a restart
Enabled: false
``
### If you do not want to use this feature, make sure to edit the config as follows after you update.
``yml
InvisibleFrame:
# Survival friendly way to get invisible item frames by splashing dropped items with invisibility potions
# Set to -1 for unlimited
# Set to 0 to disable
MaxConversionsPerSplash: 0
``
  • Fixed jumpTo while animated map is paused
  • Check IF & world folder map ids too when creating new maps
  • Fixed an error in certain versions on chunk load
  • Fixed combined map items jittering in the player inventory
  • Support for Minecraft 1.21.4
  • Support for Minecraft 1.21.3
  • Support for Minecraft 1.21.1
  • Fixed combined maps being used for crafting
  • Support for Minecraft 1.21
  • Fixes a bug on Folia
ImageFrame Icon
Download ImageFrame
Select game version
Select platform