Chat UI - A UI toolkit for the vanilla chat box

Maybe split up the library and the plugin. So you can keep new API features and new plugin functionality on separate update paths as well.

New early access version, 0.4.0 released, Download here

There are not many player-facing changes in this version, but there has been a lot of code changes

2 New features:

  • Chat groups - Players with the admin permission can create and delete groups. Any player can join any group. Group chats are organised into separate tabs
  • Disable the interface (load as a service).
    Set interfaceEnabled=false in the config to disable the interface for all users and leave the chat alone (requires restart). This is primarily if another plugins wishes to use the UI component system but the server admin doesnā€™t want the front-facing interface.

The text editor that I demoed previously has been re-written to address some shortcomings. Iā€™ve left the ā€œDemo Contentā€ button on the New Tab page so you can test out the editor.
Iā€™m thinking of adding a ā€œnotepadā€ for players to jot down notes (e.g coords).

I would like to separate the GUI library and the plugin features as @pie_flavor suggested, 0.4.0 refactored a lot of code to ease the separation but itā€™s still quite tightly ingrained.

A lot of the refactoring was to make all the displayed parts of the window a ā€œComponentā€ and to use generalised containers for layout management. This reduced code duplication and made it more robust (e.g. to different chatbox sizes). The containers are largely based off of JavaFX, e.g. The main UI you see is an AnchorPaneUI with the tab bar fixed to the top and status bar fixed to the bottom.

This will probably be the last early access release before 1.0.0, (though I might do some Release Candidates first). Itā€™s pretty stable, if youā€™re thinking about trying out Chat UI then I encourage test-driving 0.4.0.
Iā€™d like to know of any major issues with other chat plugins before release too.

Things Iā€™d like to do before 1.0.0:

  • Notepad
  • Finer control of permissions for the various actions
  • UI tidy-up (layout, colors, tooltips)

Things for after 1.0.0:

  • Texture pack support (currently assumes vanilla font)
  • Lite mode - A less ā€œintrusiveā€ mode (will make support for non-English languages possible)
    Because all text is computed server-side, the server must be aware of all language packs (by default it only ships with en_us.lang). Lite mode will not encapsulate the chat window with a border, but instead just append a footer to all text and leave it as-is.
  • Proper layout management (currently itā€™s very rough)

There have been some great ideas from other people after having seen the potential for Chat UI. While I can make these myself it may take as long as itā€™s taken to develop Chat UI (see: first post Dec 2015).
I encourage plugin developers to try out the UI API and perhaps create an extension that adds a new feature.

List of suggested features:

  • Entity Radar
  • Region Manager
  • Spam hiding / spoilers
  • Book-based GUI (similar to inventory based GUIs)
  • Maps - (e.g. height map)
3 Likes

something something release something something very soon something something

3 Likes

something something canā€™t wait something something so excited something something

1 Like

Subscribe to this topic for future updates: