Skip to content

Commit a136db3

Browse files
committed
Update README. Add images for documentation. Bump version to 1.0.0
1 parent 72af8d3 commit a136db3

24 files changed

+53
-84
lines changed

README.md

Lines changed: 50 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,86 +1,55 @@
11
# Chat UI
2-
A User Interface Toolkit for drawing GUIs in the Vanilla Minecraft chat box.
3-
Written using the Sponge API, compatible with versions 4.x and current 5.0.0 snapshots.
2+
A User Interface library and plugin for creating GUIs in Minecraft's chat box.
43

5-
[__Early access downloads on the Releases page__](https://github.com/simon816/ChatUI/releases)
4+
# Aim
5+
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.
66

77
# Features
8-
This plugin allows players to perform tasks using a graphically based interface as opposed to the traditonal command based interface.
8+
* Tabbed interface with status bar
9+
* Player list with admin tools
10+
* Private messages between players
11+
* Pagination viewer
12+
* Configuration editor for the server config
13+
* Permissions manager
14+
* Chat groups
15+
* Per-player settings with ability to disable the interface
16+
* Expandable - other plugins can hook into the interface and add new features
17+
* [bStats](https://bstats.org/) (plugin metrics)
18+
19+
For a full description and demonstration of Chat UI's features, please check out the [wiki](https://github.com/simon816/ChatUI/wiki/features).
20+
21+
# Demo
22+
![Demo gif](https://i.imgur.com/BFmcx7q.gif)
23+
24+
# UI Library
25+
Chat UI provides a high-level User Interface library for creating GUIs, it is inspired by JavaFX and Swing.
26+
More information can be found on the [wiki](https://github.com/simon816/ChatUI/wiki/component-model).
27+
28+
# Links
29+
* [__Downloads__](https://ore.spongepowered.org/simon816/Chat-UI/versions/recommended/download)
30+
* [Ore Project Page](https://ore.spongepowered.org/simon816/Chat-UI)
31+
* [Source Code](https://github.com/simon816/ChatUI)
32+
* [Issue Tracker](https://github.com/simon816/ChatUI/issues)
33+
* [Wiki](https://github.com/simon816/ChatUI/wiki)
34+
* Archive (pre 1.0.0 release)
35+
* [Old Forum Post](https://forums.spongepowered.org/t/chat-ui-a-ui-toolkit-for-the-vanilla-chat-box/10109)
36+
* [Early versions](https://github.com/simon816/ChatUI/releases)
37+
38+
39+
# Developing
40+
41+
## Utilizing Chat UI in another plugin
42+
Chat UI provides an API for other plugin developers to use in their plugins.
43+
Please check out the [wiki tutorial](https://github.com/simon816/ChatUI/wiki/integration) on integrating with Chat UI.
44+
45+
## Developing Chat UI itself
46+
### Setup
47+
Chat UI is built with [Gradle](https://gradle.org/).
48+
To set up a workspace for development, run `gradle eclipse` for [Eclipse](https://www.eclipse.org/) or `gradle idea` for [Intellij IDEA](https://www.jetbrains.com/idea/). Then import as an existing project.
49+
Alternatively, import the project as a Gradle project from within your IDE.
50+
51+
If you've never worked with Sponge API before it may be worthwhile checking out the [developer documentation](https://docs.spongepowered.org/stable/en/plugin/index.html).
52+
53+
### Building
54+
Simply run the gradle `build` task (`gradle build` from the command line). The plugin jar file will be written to `./build/libs/`
955

10-
### General Layout
11-
A frame is defined in the chat window, where tabs can be navigated and a status bar resides on the bottom.
12-
13-
![Screenshot](http://puu.sh/r7v5K/3cb846506d.png)
14-
15-
### Player List
16-
This screen uses the `TableUI` to list all players on the server. If you have the admin permisson, you can kick and ban players directly from this list.
17-
18-
![Screenshot](http://puu.sh/r7wtT/6c716a6341.png)
19-
20-
21-
### Private Messages
22-
From the player list, click 'Message' to start a private message with that player.
23-
24-
![Screenshot](http://puu.sh/r7wF5/ea5ee34efa.png)
25-
26-
The otherplayer will see this before clicking on the tab:
27-
![Screenshot](http://puu.sh/r7wM9/e0e7ab506a.png)
28-
Where '(1)' is the number of unread messages.
29-
30-
### Configuation Editor
31-
Only accessible if you have the admin permission.
32-
The configuration editor is another use of `TableUI`.
33-
It allows navigating through a key:value based config file (uses configurate's `ConfigurationNode`).
34-
There are two types of values: simple and complex.
35-
A simple value is either a number, boolean or a string. A complex value is a list or a map.
36-
To open a complex value, click on it and it will navigate to that node. Keep track of the current path by observing the 'breadcrumb' at the top. Click on any part of a breadcrumb to go back to that node.
37-
38-
To edit a simple value, clicking on the value will highlight that row. You can type in chat the new value of the node, or click again on the value to prompt the value in chat.
39-
Example screen:
40-
![Screenshot](http://puu.sh/r7wX9/5c7d8fa2f1.png)
41-
42-
New nodes can be created by clicking the [New] button.
43-
44-
![Screenshot](http://puu.sh/r7x3W/15c9b470cd.png)
45-
46-
Here, you enter the name of the key in chat. Then click on the type of value, and optionally enter the value afterwards.
47-
48-
### Settings
49-
Each player has configurable settings. Players should adjust the settings if they have adjusted their client chat settings.
50-
The interface uses the same config editor design from above.
51-
![Screenshot](http://puu.sh/r7vFQ/99cf6a79ee.png)
52-
53-
54-
| Setting Name | Description | Default |
55-
|---------------|---------------------------------------------------------------------------------------|---------|
56-
| displayHeight | This is the height of the window, measured in lines | 20 |
57-
| displayWidth | This is the width of the window, measured in pixels | 320 |
58-
| enabled | Whether or not ChatUI is enabled for this player (currently does not have any effect) | true |
59-
60-
## Extra features
61-
Theses are features that don't have an application just yet, but may be used in the future or by another plugin.
62-
63-
### Text Editor
64-
A simple text editor
65-
66-
![Screenshot](http://puu.sh/r7xej/3b1bc42ba2.png)
67-
68-
### Canvas
69-
The canvas tab defines a drawing context (similar to JavaScript's 2D canvas context).
70-
Shapes an images can be drawn on the canvas. The context is a x*y plane of 'pixels' that can be set to different colors.
71-
There are two types of drawing contexts: 'block' and 'braille'. Block uses a unicode block character to form a grid, while braille uses the unicode braille characters to form a grid of smaller pixels.
72-
Sine wave example using block context:
73-
![Screenshot](http://puu.sh/r7xvd/9625e07747.png)
74-
(Note: The black empty characters are support characters, I've yet to find an invisible 9x9 character.
75-
76-
Animations are also possible by using SpongeAPI's scheduler to push updates to the client if the tab is active.
77-
78-
## Plugin support
79-
80-
It is possible for other plugins to design their own interfaces on the UI.
81-
Plugins can use existing components and are free to design custom components.
82-
83-
# Permissions
84-
Currently only one permission is defined, the admin permission.
85-
86-
Admin Permission: `chatui.admin`

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ apply plugin: 'com.github.johnrengelman.shadow'
1515
sourceCompatibility = "1.8"
1616
targetCompatibility = "1.8"
1717

18-
version = "0.4.0"
18+
version = "1.0.0"
1919

2020
group = "com.simon816.chatui"
2121

doc/canvas.png

41.1 KB
Loading

doc/canvas_2.png

31.8 KB
Loading

doc/chat_group.png

36.1 KB
Loading

doc/chat_groups.png

32.7 KB
Loading

doc/client_settings.png

57.3 KB
Loading

doc/config_editor.png

40.5 KB
Loading

doc/config_editor_2.png

40.7 KB
Loading

doc/edit_config_value.png

21.1 KB
Loading

0 commit comments

Comments
 (0)