dfyx / iChat

Bukkit iChat re-implementation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

=============
 Description
=============
Custom chat formatting. 
Based on the idea of iChat v1.5 by Nijikokun.
Includes code and concepts from mChat by MiracleM4n <https://github.com/MiracleM4n/mChat/>

Download (Direct JAR): http://thedgtl.net/bukkit/iChat.jar
Source: https://github.com/TheDgtl/iChat

=============
 Features
=============
Supports Permissions (Both 2.0 and 2.1), GroupManager, and SuperPerms handlers.
Allows you to specify a prefix/suffix/variable for users and groups.
A user-specific prefix/suffix/variable will take priority over a group prefix/suffix/variable.
Unlimited amount of custom variables for use in chat format.
Colors are supported in all parts of the formatting and chat text.
Usable health bar and health amount in the formatting.
Support for formatting of /me

=============
 Formatting
=============
Message formatting is defined in the file plugins/iChat/config.yml
The message formats can contain characters, color codes, and variables.
To use colors use the standard Minecraft color codes found here: http://www.minecraftwiki.net/wiki/Classic_Server_Protocol#Color_Codes

Available variables:
+prefix - The prefix for this user, or this users group if they don't have one defined.
+suffix - The suffix for this user, or this users group if they don't have one defined.
+name - The users name
+displayname - The users display name (Set by plugins such as Towny)
+iname - The iChat formatted player name (Defined by iname-format) 
+group - The users group
+healthbar - A visual health bar for this user 
+health - The users current health value (Between 0 and 20)
+message - The message the player typed
+world - What world the player is currently in
+time - Timestamp, configurable in config.yml. Uses the format for SimpleDateFormat - http://bit.ly/dscw40

Example (Default):
iname-format: '[+prefix+group+suffix&f] +displayname'
message-format: '+iname: +message'
me-format: '* +name +message'
date-format: 'HH:mm:ss'
handle-me: true

As of iChat 2.4.0 there have been a few changes in the way variables and groups are handled.

==========
  Groups  
==========
iChat has support for Permissions 2.x/3.x, and PermissionsBukkit native groups. If you are using another permissions plugin,
you will need to define the players group by giving them the 'group.{name}' node (Example: group.admins: true). You also must make sure that any
child group unsets this node (group.admins: false) otherwise you will get unexpected results.

==========
Variables
==========
Variables are now defined in variables.yml in the iChat directory. This includes prefixes, suffixes, and custom variables.
You can define an unlimited number of custom variables for groups and users, if these variables contain the static variables such as +prefix, 
+suffix, +health, etc then those variables will be replaced with their respective values.
If a variable does not exist then it will be replaced with a blank string.

This example will show the users health where +{var1} is located:

variables.yml:
---------------------
groups:
    admins:
        name: 'Admin'
        prefix: ''
        suffix: ''
        var1: '[+health]'

config.yml:
---------------------
message-format: '[+group&f] +{var1} +displayname: +message

=============
Configuration
=============
iname-format - The format used for +iname (Default: '[+prefix+group+suffix&f] +displayname')
message-format - The format used for basic chat (Default: '+iname: +message')
date-format - The format used for +date (Default: 'HH:mm:ss')
me-format - The format used for /me commands (Default: '* +name +message')
handle-me - Whether to handle /me commands (Default: true)

=============
 Permissions
=============
ichat.color - Allow this group/user to use color in their chat messages.
ichat.reload - Allow reloading the iChat config

=============
  Commands
=============
/ichat reload - Reload the iChat config file.

=============
  Changes
=============
[Version 2.4.1]
  - Remove plugin-specific group referencing. All groups are now managed via group.* nodes,
    the exception being pure Permissions 2.x/3.x
  - Fixed /ichat reload not reloading variables.yml
  - Updated /me to use BroadcastMessage
[Version 2.4.0-final]
  - Took out variable caching, there's no hook for PermissionChange.
  - Updated README to include info on group.* nodes
[Version 2.4.0-beta]
  - Merged all branches into one
  - Supports Perms 2.x/3.x, SuperPerms, GroupManager
  - Added a more advanded API based on the mChat API
  - Massive thanks to MiracleM4n for code and concepts
  - All variables are now retrieved from variables.yml instead of Permissions
  - Removed censor code
[Version 2.3.3]
  - Added Permissions as a dependency
  - Added "/ichat reload" command
[Version 2.3.1]
  - Added iChat.ichat.parseChat(Player, String, Format) API
  - Added hook for /me chat formatting using the "me-format" config option
[Version 2.3.0]
  - Added external iChat.ichat.parseChat(Player, String) API
[Version 2.2.3]
  - Added +displayname/+d for player.getDisplayName()
[Version 2.2.2]
  - Updated to latest RB
[Version 2.2.1]
  - Updated how Permissions is loaded
[Version 2.2.0]
  - Added the ability to have an unlimited amount of variables in message-format
  - Changed version numbering
[Version 2.11]
  - Now uses per-world permissions information
[Version 2.10]
  - Allow admins to enable color on a permissions basis
[Version 2.09]
  - Another small update to Permissions (Returned false when I should have returned true)
[Version 2.08]
  - Updated Permissions version detection to only count the first two parts of the version (x.x, not x.x.x)
[Version 2.07]
  - Added +time/+t tag for timestamp
[Version 2.06]
  - Added +world/+w tag
[Version 2.05]
  - Core GM support removed, depends on FakePermissions if you use GM.
[Version 2.04]
  - Re-arranged variables, you can now use everything in the suffix/prefix
[Version 2.03]
  - Verify that all available variables aren't null before calling parse
  - Fixed crash caused by color code at end of message (Basic fix, added a space)
[Version 2.02]
  - Fix a NPE someone was getting
[Version 2.01]
  - There's a bug in Permissions 2.1 in getPermissionString, switched to getUserPermissionString
[Version 2.00]
  - Initial re-write of Niji's plugin.
  - Added Permissions 2.0/2.1, and GroupManager support.

About

Bukkit iChat re-implementation

License:GNU General Public License v3.0


Languages

Language:Java 100.0%