Custom text feature allows to create any text you would like to show for player. It can be simple plain colorized text or complex hover over and clickable text.

  • PlaceHolderAPI support for automatic replacement of placeholders. Allows for custom text by each player.
  • If you have used Essentials customText feature where you can set some custom text to be shown when performing some particular command, then this is the same thing, just like 10x more customizable and more powerful :)
  • First. Each command is separated into separate files for simpler control on what you want to use or have.
  • Next. You can define where new page starts by simply clicking on in chat window instead of counting 7 lines… So you can have pages with 100 lines or with 1, your decision.
  • Third. It includes automatically pagination, so if you have more than one page of custom text, you will automatically get the option to press on next page button to see next page. This can be disabled for each custom text separately if you don’t want to have it for some reason.
  • Fourth. It automatically includes new custom text as a new command with the same name. An example, default file rules will have /rulescommand which will show rules list when performing it. Official command is /cmi ctext [ctextName] (page).
  • Fifth. You can create raw messages. What are raw messages? Messages where you can hover over to see more info, you can click it to perform command, you can click it to get some text being pasted in chat. Creation is quite simple:
    Code (Text):
    TextHover textcmi healSuggested text
<T>Text</T> - Defines text which will be shown
<H>Hover text</H> - represent text to be shown when hovering over text
<C>cmi heal</C> - represents command to be performed when clicking text. Performed by player.
<CC>cmi heal [playerName]</CC> - represents command (from console) to be performed when clicking text. Player can click this only once.
<CCI>cmi heal [playerName]</CCI> - represents command (from console) to be performed when clicking text. Player can click this as many times as he wants.
<SC>Suggested text</SC> - is replacement for command and it will paste text into chat field when clicked
<SI>Insertion text</SI> - differently than <SC> will not replace text but will add to existing one when shift+clicked
<URL></URL> - add url link
To have more than one raw message in one line separate them with <Next>
Raw message should always start with <T>
  • Sixth. All this can be edited INGAME. /cmi editctext So yea, you can create new customTexts, edits its lines, add new pages, remove old ones, enable/disable alias or automatic pagination. Change line order by simply clicking on special arrows. In other words, there is a full support to fully create and control custom text’s in-game without needing to edit them throw files directly. So any admin/staff with some brain cells can edit or create nice looking help pages without direct access to your server files.
  • This feature will help you to create your own help pages, for your own particular server, with special clickable lines or extra info when hovering over them and having all this under simple alias system.
  • And this feature is being used to convert custom text into book with /cmi getbook [cTextName] (playerName) which includes all hover over and clickable messages into it automaticaly

Lets say you want to create a text line like “Hello there!” which can be hovered over and shows “Hi!” and when clicked heals player once. That would be

<T>Hello There!</T><H>Hi!</H><CC>cmi heal [playerName]</CC>

Lets say you want to have multiple text sections on one line which can be hovered over. This can simply be achieved by repeating it and next section will be indicated by same variable

<T>Section One</T><H>Hover for section one<H><SC>Suggested text</SC><Next><T>Second section</T><Next><T>Third section</T><H>With hover message</H>

Color codes in regular format are acceptable.


In case you want to add image, like players head with some text on side, you can utilize image feature as of version. Only for 1.16+ servers for time being.

For example, you can achieve shown result above by using this setup inside of your custom text file.

img:helmet:[playerName] 8
imgtext: {#gray}Welcome %cmi_user_display_name%{#gray}!
imgtext: <T>{#gray}Money balance: &f%cmi_user_balance_formatted%</T><H>{#green}Click</H><C>cmi balance</C>
imgtext: <T>{#gray}Mail: &f%cmi_user_mail_count% </T><H>{#green}Check mail</H><C>cmi mail</C><T>{#gray}Warnings: &f%cmi_user_warning_count%</T>

As you can see you can have text before and after image while at same time on side of it. Text on side needs to be defined with imgtext: variable straight after img: otherwise it will not be recognized. You can have multiple images if needed.

Image can be defined like img:head:[playerName] which will use players skin head image. This only shows base skin.
If used img:helmet:[playerName] then players skin with helmet layer will be shown.
Last option is to use real image from local file as img:diamond.png while file needs to be located inside Images folder
Image size defaults to 8 pixel height if not defined otherwise, this is basic protection from trying to show 4k images. You can resize image by providing its dimensions like img:diamond.png 8 10 which will produce 8×10 pixel image independent how big is original one.Both variables are optional and if only one is provided then second one will be automatically scaled to keep original ratio. First variable defines height and second width. If you want to provide only fixed width then define height as 0, like img:diamond.png 0 12 in which case we will scale height depending on original image while always keeping 12 pixel width.

Optionally you can add hover over type messages or even clickable ones for nice and compact look