ProjectChat Beta 1.0
A Chat Channel System
ProjectChat is a Channel System for Minecraft chat. So your inhabitants can chat with their friends in Channels and their is not a spam in the main chat :D The SMP Chat is often a highlight on Servers and it made them individual. My purpose is a high configurable Chat System, which you can customize in that way you want. Moreover most of the bigger Server program their own chat plugin because the most plugins can not handle their ideas. So I tried to make a system that you can handle a lot of ideas.
Main features
- Configurable chat channels
- On-the-fly configuration
- Permission based protection
- Configurable chat messages + functional variable system
- Private-,Public- and Group Chat
- Multiple themes
SetUp
Download ProjectChat and move it in the plugin folder. Then reload the server. The plugin is now full functional. To generate the full configuration that you may want to change reload again.
Now you should find two files in the ProjectChat folder.The config.yml where you configurated your channel and player and the leaves.yml where you can change your chat layout. Let begin with the config.yml
Config
| Path | Description | Type | Default content |
|---|---|---|---|
| System | |||
| theme | Here you define the name of your layout. It automatically generate a file with the layout as name. | Text | leaves |
| defaultChannel | The default Channel every Player joins in when he join your server for the first time | Text | Global |
| allowOnlyStatic | There are static and dynamic channel. Static Channel are Channel you have to create. When you set this to true then player could only join in static channel | true or false | false |
| Channel | |||
| <ChannelName> | The name of the channel | ||
| allowBroadcast | When this is true then the chat broadcast when a player join or leave a channel | true or false | In Global false, other true |
| chatFormate | Can be a reference to the global, default and private Channel format. It could also be a custom channel format in form of a Text | Text | cs#defaultChannel |
| prefix | A channel prefix | String | &f |
| Player | |||
| <PlayerName> | A player that has joined | ||
| channel | actual Channel | Text | Global |
| flag | some flag | ||
| ghost | not used yet | true or false | false |
| ignore | A list of player the player ignores | List | empty |
| mute | When true then the player can't speak | true or false | false |
leaves
The leaves.yml is a default chat layout. The different pathes should be self explaining. It could be more intresting how you use variables. Variables are used in the style %VariableName% The most variables have subvariables which are sometimes static and sometimes like functions. To get subvariables you write %VariableName["SubVariableName"]%. Here is a overview
| Variable | Subvariable | Description | stable |
|---|---|---|---|
| channel | Show the actual channel [In Chat: where the sender of the message is in] | yes | |
| list | Show a list of all Channel | yes | |
| prefix | Get the actual prefix | yes | |
| a channel name | Write here an existing channel and you can use the same abilities as above | yes | |
| a player name | Get the actual channel of a player | yes | |
| sender | Get the name of the Message sender | no | |
| receiver | Get the name of the Message receiver | no | |
| msg | Get the Message which is send | no | |
| pex | Get default prefix | yes | |
| prefix | Get the prefix of the actual player | yes | |
| plugin | The plugin name | yes |
Stable means that you can use this in every definition
Config Changes
I said on-the-fly configuration. You asked what it means. Yeah you can change the config files while the server is running and the you just reload the server and the changes are done :D No stop the server to change or ingame command to exspecially reload. Is this easy?
Commands
pchat - Show a list of Channels
pchat join <name>- Join a channel
pchat leave - go back to the global channel
pchat create <name> - create a static channel
pchat remove <name> - remove a static channel or kick all in a dynamic channel
ignore <name> - Ignore a player
mute <name> - Mute player
demute <name> - Demute player
You can use instead of pchat also pch or ch.
Permission
pchat.pushy - You can speak to someone inspite he ignores you
pchat.use - Use channel commands like join and leave
pchat.manage - To manage static channel
pchat.use.color.<channelName> - When you write no channel name he can use colors in each channel
pchat.mute - Can mute players
pchat.ignore - Can ignore players
pchat.talk.<channelName> - Can talk in Channel (Permission based mute)
Compatibility
ProjectChat can stand alone. So only op can work with it. It work alone with PermissionEx as a Permission System. When you have a other Permission Plugin with is compatibile with Vault then you can use it together with Vault.
Disclaimer
As the title says, it is a beta build. That means there could be bugs or the can come great changes. My goal is that you haven't to rewrite your configuration and the new version should so be compatible with old configs. When something not function the way you think it must than asked. When you need help I try my best to help.
Futhermore, this plugin can connect to IRC Server. But I won't recommed it in this build as it is not full implemented (Such as Pre-Alpha)
For the future
- Performance tweaks
- Their are abilities to connect with IRC Server but in it is really in Dev
- Implementation of Spam Filtering Technics
- Permission tweaks
- more and more tweaks
- some more ideas... :)

