TitanChat
TitanChat
TitanChat
Overview
Overview
TitanChat is a chat management and formatting plugin, its high flexibility is what makes it special. Instead of having a large bulk of hardcoded supports for other plugins, an addon system was implemented so that addons, custom channels and external commands can be coded to support other plugins and add new features. The built in commands in TitanChat help make your chat management task easier. Channels can also be disabled to have your old global Minecraft chat, but giving you more control over chat.
Announcements
Announcements
11.12.13
11.12.13
Currently busy with school, but v5.0.0 is still being worked on.
12.08.13
12.08.13
TitanChat v4.1.0 will be the latest until the rewrite is completed to release v5.0.0. This rewrite is started due to the messiness of adding new features and functions, even though v4.0 should have improved it a lot. This should not be an impact to users since this is not a usage change, although the command system will be overhauled to become easier to understand. Sorry in advance for the lack of releases for the time being, and thank you in advance for your understanding.
Features
Features
- High flexibility
- Easy to understand and use
- Channels with per-channel configuration available (Channels can be disabled in config.yml)
- Built-in commands to manage your chat
- Supports any permissions plugins that uses SuperPerms or is supported by Vault
- bPermissions
- PermissionsEx
- DroxPerms
- PermissionsBukkit
- SuperPerms
- GroupManager
- Privileges
- zPermissions
- Addons, custom channels and external commands can be used to support any kind of plugin, creating channels with different kind of behaviours and adding new features
Installation
Installation
- Download TitanChat
- Place in plugins folder
- Start up to load default configuration
- Configure
- Done!
- Note: TitanChat uses Plugin Metrics which would be loaded automatically
Dependencies
Dependencies
- CraftBukkit 1.5.2-R0.1
- Vault (Required only for affixes of permissions plugins)
Essential Knowledge about TitanChat
Essential Knowledge about TitanChat
There are things that you should know about TitanChat before you use it, it usually solves your problems.
Commands
Commands
Detailed information about TitanChat commands can be found on the "Commands" page.
Command | Description |
---|---|
Blacklist | Edit or view the blacklist of the channel |
Chat | Send the message to the channel |
Create | Create a channel |
Debug | Enable/Disable the debugger |
Delete | Delete a channel |
Demote | Demote the player in the channel |
Direct | Direct focus to the channel |
Emote | Emote in the channel |
Help | Get information about TitanChat |
Ignore | Edit or view the ignore list |
Join | Join the channel |
Kick | Kick the player from the channel |
Leave | Leave the channel |
List | Get list of permitted channels |
Place | Place the player in the channel |
PM | Private messaging |
Promote | Promote the player in the channel |
Reload | Reload TitanChat |
Whitelist | Edit or view the whitelist of the channel |
Who | Get information about the player |
Permissions
Permissions
Detailed information about TitanChat permissions can be found on the "Permissions" page.
Permission | Description |
---|---|
TitanChat.auto.join.<channel> | Automatically joins the channel on login |
TitanChat.auto.leave.<channel> | Automatically leaves the channel on login |
TitanChat.blacklist.<channel> | Grants permission to edit and view the blacklist of the channel |
TitanChat.create | Grants permission to channel creation |
TitanChat.debug | Grants permission to debug TitanChat |
TitanChat.delete | Grants permission to channel deletion |
TitanChat.emote | Grants permission to emoting |
TitanChat.join.<channel> | Grants permission to join the channel |
TitanChat.kick.<channel> | Grants permission to kick in the channel |
TitanChat.leave.<channel> | Grants permission to leave the channel |
TitanChat.participate.<channel> | Grants permission to participate in the channel |
TitanChat.privmsg | Grants permission to private messaging |
TitanChat.rank.<channel> | Grants permission to rank in the channel |
TitanChat.reload | Grants permission to reload TitanChat |
TitanChat.speak.<channel> | Grants permission to speak in the channel |
TitanChat.staff | Grants all TitanChat permissions |
TitanChat.update | Notified about updates |
TitanChat.whitelist.<channel> | Grants permission to edit and view the whitelist of the channel |
Configuration
Configuration
Detailed information about TitanChat configuration can be found on the "Configuration" page.
Format Tags
Format Tags
Tag | Description |
---|---|
%chtag | The channel tag |
%colour | The chat display colour |
%display | The display name of the sender |
%message | The message |
%name | The name of the sender |
%prefix | The prefix of the sender |
%suffix | The suffix of the sender |
%world | The world the sender is in |
Miscellaneous
Miscellaneous
Some miscellaneous information can be found on the "Miscellaneous" page.
TitanChat ChatAddons
TitanChat ChatAddons
DISCLAIMER: ChatAddons of this project have not been approved by the BukkitDev staff. Use them at your own risk.
TitanChat ChatAddons can be found at the ChatAddons forum. The author will browse the forums occasionally and moderate it, deleting invalid ChatAddons threads (including, but not limited to, backdoors, vulgarity or inappropriateness, plagiarism, or auto-updating).
Changelog
Changelog
- v4.1
- 16.05.13 - TitanChat v4.1 Release
- 15.05.13 - Made commands treat multiple arguments within quotations as one argument
- 14.05.13 - Added TemporaryChannels and some commands
- 13.05.13 - Into v4.1 development and added ignore lists
- v4.0
- 11.05.13 - TitanChat v4.0 Release
- 09.05.13 - Improved private messaging, made commands more descriptive and added emoting
- 07.05.13 - Added help section and private messaging
- 30.04.13 - Fixed bugs
- 11.04.13 - JavaDocs
- 05.04.13 - Ensure that code is compatible with Jenkins
- 22.03.13 - Completed most of the rewrite, completing commands
- 20.03.13 - Completed half of the rewrite, awaiting Bukkit 1.5 Beta Build
- 18.03.13 - Completed some of the rewrite
- 16.03.13 - Scraped v4.0 and rewrite from scratch
- Old Versions
Metrics
Metrics
To determine popularity of this plugin, plugin installs are automatically tracked by the Metrics plugin tracking system. If you don't want to help or are paranoid, edit plugins/PluginMetrics/config.yml and set opt-out to true.
TitanChat Statistics by Metrics
Todo
Todo
- Complete basic addons
- Per world and global channels
- Code improvements
Links
Links
DISCLAIMER: Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Feel free to comment and notify me about questions.
And give suggestions on the Forums.
If there are bugs or problems, report them to the Issue Tracker.
Please use Pastebin to paste any stack trace or error, thank you.
@ThisUsernameIsMine
Weird, I don't see code that might cause that. Might have been fixed in my newest builds.
Before you try to download, warning: The new feature may error on PlayerJoin and PlayerQuit since I'm using new found knowledge for this feature.
@NodinChan
I get those notifications twice when trying to join a channel i don't have permission for.
Case-sensitivity errors were corrected by making all channels lowercase, but i'm still getting 'Failed to find your spawn channel' and 'You are not in a channel, please join one to chat'.
I know the differences between following a channel and physically joining one (IRC ftw).
Thanks for creating a plugin i hopefully will be able to use some day :)
@ThisUsernameIsMine
If special-type is none, then the channel is an ordinary channel, like when it was just password, private or public.
Can you be more specific about when/what/where? I don't mind screenshots.
Finally, thanks for reporting. :)
@NodinChan
Oh my god.... how did that happen??!! Now i can change/go to the staff channel without a problem! o_O
Some other things:
- what happens if special-type is set to 'none' ?
- channel-changing / not whitelisted Notifications show up twice
- As a test i've made the public default channel private. But as soon as i restat the server TitanChat doesn't forward me to another channel i've set-up. Instead it says: 'Failed to find your spawn channel' and 'You are not in a channel, please join one to chat'.
This while the permission node TitanChat.spawn.staff and TitanChat.access.* is there and i'm whitelisted for that channel. It does say i'm following staff channel but it simply doesn't sent me there.
Thanks for pointing out that config error!
There is no staff type. "staff" is a special-type, change that to "password", "private" or "public".
@NodinChan Make that mind blown x 2 :-/
@Patolord
I believe something changed in the channel's config:
tag: '[Staff]'
chat-display-colour: ''
name-display-colour: ''
type: staff
special-type: staff
global: false
colour-code: true
password: ''
format: '%tag %prefix %player%suffix: %message'
messages:
join: true
leave: true
admins: []
whitelist: []
blacklist: []
followers: []
edit: i added myself as admin but it didn't change anything (still no channel-join notification/confirmation whatsoever).
I remain in the Default channel.. What i CAN do is force myself to join the channel by issueing /tc force name channel. I can do /tc join otherchannel but not join the staff channel again, unless i force myself into that channel.
Yes. I tested using the TitanChat build #399 and latest bukkit dev of the others. Everything worked fine,even without op and granting the permissions.
here is the simple group config that i used.
@ThisUsernameIsMine
Are you using default staff channel config?
@Patolord
Is that from using the same setup as ThisUsernameIsMine? i.e. bPerms, Vault, OP, TitanChat.
@ThisUsernameIsMine
So, let me confirm this.
You use bPermissions. You have Vault. You are OP. The problem is TitanChat.staff.
The settings of the staff channel is that the special-type is staff while the type is public.
You did give yourself TitanChat.staff but it did nothing.
My only assumption that can be derived from this is bPerms did not register that permission onto the Player.
Since you have Vault and TitanChat.staff does not require the wildcard avoider function in TitanChat, permission checks are directed to Vault.
And while calling has(player, permission) method of Vault, it checks if the player has the permission with Bukkit's permission.
From that, I can only assume that something is blocking it from being registered, or registered to be true.
But the weird part is, if you are OP, that you should already have that permission node at the start, since Bukkit registers it to players.
Hence, this is very illogical. My mind is blown.
@NodinChan Here's a snippet of my groups.yml
default: guest
groups:
admin:
permissions:
- TitanChat.[admin]
- TitanChat.access.*
- TitanChat.follow.*
- TitanChat.g.prefix.&4[&cOppergod&4]&7
- TitanChat.staff
I really have no clue what's wrong or what's going on :-/
Finally got around to improving the DBO page. How does it look? :)
Now, what would my lovely users want in the newest display name changing feature of v3.6? :D
@ThisUsernameIsMine
Did you type TitanChat.staff with the exact case or did you type it in a different case? i.e. titanCHAT.sTaFf or TiTaNcHaT.sTaFf
Since if you did not type it with the exact case, I know what's wrong, and if you did, I'll see if there's any other cause. And you mentioned that you have OP? Since by default, OPs should have TitanChat.staff.
@NodinChan
Thanks :-)
@ThisUsernameIsMine
I'll look into it. ;)
@NodinChan
bPermissions (SuperPerms), also have Vault installed.
@ThisUsernameIsMine
Interesting, the only reason that'll happen is because you do not have TitanChat.staff. But as you said you have, I have no idea. What permissions plugin are you using?
@NodinChan
Ok, that's probably better yes. Still one (or perhaps two) hurdle left to go. I always join Default channel, no matter the permission nodes i have. When typing /tc join staff or /titanchat join staff nothing happens (no notification whatsoever) and i'm still in the Default channel (i'm Op)
@ThisUsernameIsMine
Then set the channels to private.
I specificly seperated Default and Staff from the usual types so that you can have Private Default.