Chat UI - A User Interface library and plugin for creating GUIs in the chat box


#1

This is a discussion topic for the Ore project, Chat UI. View the full project on Ore for downloads and more information.


Chat UI

A User Interface library and plugin for creating GUIs in Minecraft’s chat box.

Aim

To enhance player user experience on multiplayer by utilizing the chat box. In addition, this plugin provides a graphical approach to tasks commonly performed with commands.

Features

  • Tabbed interface with status bar
  • Player list with admin tools
  • Private messages between players
  • Pagination viewer
  • Configuration editor for the server config
  • Permissions manager
  • Chat groups
  • Per-player settings with ability to disable the interface
  • Expandable - other plugins can hook into the interface and add new features
  • bStats (plugin metrics)

For a full description and demonstration of Chat UI’s features, please check out the wiki.

Demo

Demo gif

Links

Permissions

See the wiki for full configuration information.

The following permissions are defined by Chat UI:

Permission Description
chatui.admin.config Allow this subject the ability to view the server config. Note: granting this permission also grants the subject all sub-permissions. They will need to be explicitly denied if not desired
chatui.admin.config.add Ability to add new values to the server config
chatui.admin.config.delete Ability to delete values from the server config
chatui.admin.config.edit Ability to edit values in the server config
chatui.admin.group.create Ability to create chat groups
chatui.admin.group.delete Ability to delete chat groups
chatui.admin.permissions Ability to use the permissions manager. Note that Chat UI has PEX integration, so if you have PEX, the player will also need permission to use PEX’s commands
chatui.admin.player.ban Ability to ban players from the player list tab
chatui.admin.player.kick Ability to kick players from the player list tab

bStats

Chat UI comes packaged with bStats.
If you do not wish for bStats to be enabled, put enabled=false in the file ./config/bStats/config.conf.
More information can be found on the wiki.


Chat UI - A UI toolkit for the vanilla chat box
#2

Tables don’t work on the forums, so the permissions look janky.


#3

The post was designed for the markdown format supported on Ore, see: https://ore.spongepowered.org/simon816/Chat-UI
There is also the configuration page on the wiki: https://github.com/simon816/ChatUI/wiki/configuration


#4

Is there a way for me, as a plugin developer, to add easy config editing support through ChatUI? Without reinventing the wheel?


#5

Yes. Construct an instance of ConfigEditTab with the ConfigurationNode and a title for the tab.


Then add the tab to the player’s Window
Developer documentation will be available on the wiki, I’ll be writing it soon.
For now, you can see how the built-in features do it


#6

Is this still in development?


#7

I haven’t worked on this for a long time but I do plan on updating it sometime soon.


#8

A new version has been released for Chat UI, it is available for download here.


This is a maintenance release updating to API 7

The plugin has been split into two separate plugins. You will need Chat UI Library in order to use Chat UI. The library contains reusable components that other plugins can make use of.
Existing config files will need to be updated - this is not done automatically, you will need to move the relevant player-settings section to config/chatuilib/preferences.conf. See Chat UI Library documentation for more on the config.
bStats has been removed.


#9

Update on documentation. Chat UI Library API/UI Components have been documented for developers here: https://github.com/simon816/ChatUI/wiki/Chat-UI-Library


#10

Is this intended to work with other chat plugins? E.g. UltimateChat


#11

It should work over the top of any other chat plugins - the Global tab should basically be the same content as without Chat UI. If it breaks with another plugin I’ll try to fix any incompatibilities.
One feature I have planned is to integrate with other plugins more - e.g. if a plugin adds chat channels/groups I’d like to integrate those as tabs.