
InteractiveImage
Turns ImageFrame maps into interactive UI panels — hover detection, visual effects, and click actions, all configured in-game.
InteractiveImage
A Paper plugin that turns ImageFrame maps into interactive UI panels — hover detection, visual effects, and click actions, all configured in-game.
Requirements
| Dependency | Version |
|---|---|
| Paper (or fork) | 1.21+ |
| ImageFrame by LOOHP | latest |
| Java | 21+ |
Installation
- Drop
InteractiveImage.jarinto your server'splugins/folder. - Make sure ImageFrame is installed.
- Restart the server.
No config.yml is generated. All settings are per-frame and stored in plugins/InteractiveImage/iiamge.json.
Commands
| Command | Description |
|---|---|
/ii | Toggle editor mode on/off |
/ii on / /ii off | Explicitly set editor mode |
/ii reload | Reload data and restart scanners |
Aliases: iimage, iiimage, interactiveimage
Permission: interactiveimage.admin (default: op)
In-Game Editor
- Run
/iito enter editor mode. - Look at an ImageFrame item frame and right-click it to open the GUI.
- Configure the frame's effects, activation distances, visibility, and click actions.
- Run
/iiagain to exit editor mode.
Effects
Each frame can have any combination of these effects applied when a player looks at it:
- Glow — highlights the frame with a configurable color and mode (
FRAMEorBLOCK) - Glint — item-enchantment-style shimmer on the frame
- Hidden frame block highlight — reveals the block behind a hidden item frame
- ActionBar — displays a message in the action bar with a configurable format and refresh rate
- Title — sends a title/subtitle with configurable fade-in, stay, and fade-out durations
- BossBar — shows a boss bar with configurable text, color, style, and progress
All effects support per-frame overrides on top of server-wide defaults.
Click Actions
Actions fire when a player left-clicks or right-clicks a configured frame. Each action is a string in one of these formats:
| Format | Behavior |
|---|---|
console:<command> | Runs the command as the console |
player:<command> | Runs the command as the clicking player |
<command> | Same as player: |
Actions support placeholders that are replaced at runtime (e.g. player name, map name).
Example actions:
console:say %player% clicked the map
player:warp spawn
Per-Frame Configuration
Each frame rule supports:
title— display namecooldownTicks— cooldown between action triggerscancelInteract— whether to cancel the interact eventonRightClick/onLeftClick— action listsactivation— override hover distance, click distance, and hover-required-for-clickeffects— override glow color/mode, frame visibility, ActionBar, Title, and BossBar settings
Building
./gradlew build
Output jar will be in build/libs/.
