CMI holograms provides opportunity to show any custom text in holographic way.

You can even create clickable holograms to perform any type of command as player or as console.
Its packet based and items only exist client side which protect them from being removed by some 3rd party cleaning plugins.
Ingame editor where you can add new lines, remove old ones, relocate to your location or adjust precisely where you want, change activation range or even text spacing.
It’s supports PlaceholderAPI plugin to display any information you want and it can show different information for separate players.
Holograms can have different pages which can be shown separately when needed. Examples below how to setup them.
It can update on defined intervals.
It will hide if you move too far away to minimize load on client and will update only when players are near it.
Has floating icon feature and static ones for most customization.

Option to hide holograms players can directly see. This will help out with client loosing tps due to poor minecraft handling of name plates and will clean out view of area, as you will no longer gonna see holograms behind a wall or on another floor.

Placeholders like %cmi_user_name% can be used when creating lines. Full list can be found at

To create new hologram use /cmi hologram new [name]

For example /cmi hologram new head tho you still have option to use /cmi holgram which will list out all holograms by distance from you and will contain + sign at end which will help out with new hologram creation.

After creation you can start entering lines by pressing one more green + sign. This will define each line in a hologram.

To adjust hologram configuration, like update rate, update range, make it clickable or even move to new location, click on <Open settings gui> line in your chat box. 

To check list of all holograms simply write /cmi hologram and you will get list sorted by distance, so closest ones will be on top of list, click on desired one and start editing.


Only one icon per line can be shown

Floating icons only for 1.10 and above versions of the server.

ICON:[itemName/id]:[data] base format. in example ICON:Stone will create floating stone icon, while ICON:Stone:3 will show floating diorite. If you want you can even show head of a specific player with ICON:head:Zrips. Or in case you want to be really fancy, use ICON:head:%cmi_user_name% which will show players who is looking at that hologram head. To show a glowing icon, add %enchanted% for example ICON:Stone%enchanted%. if you want to show a stack of items, then use amount value separate with – in example ICON:Stone-64
If you want to display in example currently held item in hand as icon, use line like this ICON:%iteminhand% this is only for holograms as of version. 

In case you want to show custom models with new system introduced in latest minecraft versions, you can use format as %customModelData:[id]% for example ICON:Brick%customModelData:4% which can result in something like


This will define static icon which doesn’t float up and down

You can set static icon in same way as floating one, the difference is base variable SICON instead of ICON

Clickable holograms​

By default holograms are not clickable, you will need to enable it in GUI for each hologram (Stick)
Then you can define commands you want to perform by clicking an appropriate button (Bow icon) This does support specialized commands, so you can go crazy with it.
You can enable or disable special particles which will be shown when successfully clicked on hologram. Enabled by default.
Last and not least, you can switch between big and small button. Keep in mind that enabling big button will make it simpler to click on hologram but at same time it will prevent player from moving throw it.

Hover Over effect

As of version holograms can detect player hovering over holograms and create particle effects or change line which player is hovering.
To create line which would change while hovering you can fallow same format as we are using for custom text feature with some basic limitations. Only text, hover and command variables gets recognized for time being, but with specialized command support it provides full range of features

<T>{#gray>}Free heal{#edward<}</T><H>{#edward>}&lFree heal{#gray<}</H><C>asConsole!
gcooldown:3?! cmi heal [playerName]</C>

Multiple commands can be used by separating each one with ;;
You can still have defined general command why should perform when player clicks on entire hologram while having more unique one if he clicks on specific line.

Creating pages

By default all the text goes into one page. To create another page simply insert new line which looks like !nextpage! and you are done. Now by default player will see only first page (until first !nextpage!) and if you (or player) performs /cmi hologrampages [holoName] (playerName) (next/prev/[pageNumber]) he will change hologram page to defined one. Keep in mind that this only changes for the target player and each player see his own hologram page.
You can have as many pages as you like, but in current settup it can be harder to manage all of them throw ingame editor as it has limited amount of lines it can show at once.
So basic example how to create “Next Page” virtual button for a hologram:
Lets create hologram with name “Rules” and add:

Line 1
Line 2
Line 3
Line 4
Line 5

Now go to hologram GUI editor by clicking on  and click on button icon which will automatically generate 2 new holograms that will cycle throw pages by clicking them. After that, you can modify those to your own liking or even remove them entirely. They will be named automatically with name format as [hologramName]#< or [hologramName]#>

Click Types

There are 5 types of clicks for you to play around when you have intractable hologram:
!leftclick! – when command starts with this, then only when player clicks with left mouse button and is not sneaking it will be performed.
!shiftleftclick! – when command starts with this, then only when player clicks with left mouse button and is sneaking it will be performed.
!rightclick! – when command starts with this, then only when player clicks with right mouse button and is not sneaking it will be performed.
!shiftrightclick! – when command starts with this, then only when player clicks with right mouse button and is sneaking it will be performed.
None of the above – any type of click will trigger command execution.
Some of the examples:
!leftclick!cmi heal [playerName]
!rightclick!cmi feed [playerName]

Update range defines how far player needs to be for it to start automatic update.
Show range defines how far player needs to be for lines to appear or disappear. This will not trigger self update.
Interval will define how often in second you want to update hologram. By default it will result into every second. But if text is static then it will result in no updates to save server resources. In case you have static text, set update interval to -1, tho this one is deprecated as of version.
Line spacing can be used to compact lines or spread them apart if needed. By default they will be as close as possible without overlapping.
Icon spacing will define space for icons, as they takes around 2 lines of text.

Use &u color code to have random color which will change on each update

Images and Animations

As of version you can add images or create simple animations with help of holograms.

To add image you need to use one of following formats:
img:helmet:[playerName] – for example img:helmet:Zrips for time being you CAN’T use dynamic player names so only static ones.
While using helmet as variable returns players skin with its helmet on top, you can optionally use head which will return clean head look, for example img:head:Zrips
Last option is to provide direct image path from CMI/Images folder, for example img:diamond.png

As you can understand not all images are in correct size you actually want them. To resize image add extra 2 optional variables. To set specific image height like 12 pixels uses this img:diamond.png 12 while width will be automatically scaled up/down depending on original image. You can define both sizes as img:diamond.png 6 6 which will keep image at 6×6 size independent what size is original image. In case you want to set specific width but scale height automatically use 0, like img:diamond.png 0 9 which will scale image width to 9 and then height will be scaled automatically depending on original image. 
Image size defaults to 8 pixels in height if not defined specifically. This is basic protection from you accidentally using 4k image in holograms. 

Basic example of Nyan cat

  PageInterval: 0.1
  Range: 46
  RangeExtra: 46
  Spacing: 0.25
  SpacingIcon: 0.5
  - img:nian/0.gif 32
  - '!nextpage!'
  - img:nian/1.gif 32
  - '!nextpage!'
  - img:nian/2.gif 32
  - '!nextpage!'
  - img:nian/3.gif 32
  - '!nextpage!'
  - img:nian/4.gif 32
  - '!nextpage!'
- img:nian/5.gif 32

Compressed rar file can be downloaded here

NOTE! Avoid creating bigger holograms than 100 lines. Server can handle even bigger ones and animated ones, but clients cant. So if you don’t want to burn potato pc’s use relatively small image holograms.