ExtraChat - Giving your chat some life [v1.4e] - Chat channels and Community Word Blacklist!

IS IMPORTANT TO USE SPONGE 472

ExtraChat is an easy way to make your chat more interesting. With this plugin you can format your chat the way you want, you can also change color of the message in game.

How to use:

  1. Once you have added the plugin to the mods folder and ran the server once, the plugin will generate a folder and a file inside in the config directory.
  2. There there is a file named config.conf, edit that file as you desire. The default it’s the minecraft default chat.
  3. Enjoy

Commands

  • /ec reload - reloads the configuration
  • /ec formatmes “format” - puts the new format in the configuration and reloads the config
  • /ec tagadd “player” “tag”- adds the tag to the player
  • /ec formattag “format” - puts the new format in the configuration and reloads the config
  • /ec tagremove “player” - removes the tag from the player
  • /ec togglelog - toggles the log state
  • /br “mes” - broadcasts a message
  • /show - show the item in your hand in chat (format temporal)
  • /ch join/leave/talk “channel” “password” - Channel commands

Coloring
The coloroing is implemented the same way is described in the minecraft forums but insteat of using this ‘§’ character uses ‘&’.

Broadcast
The broadcast systems it’s not a simple broadcast system. It let’s you add hover text to it and diferent actions when you click it as open a link, suggest a command or run a command.
Examples can be found here.

MCStats
MCStats is a system that let’s you keep track of how many servers are using your plugin. It’s doesn’t tracks ip or nothing. More info here.

Chat channels
The chat channels is very simple, when you first start the server it will create 2 channels, global and public. The name is the name of the channel, the tag is the short name for the channel, the radius is from what max distance can someone read the chat, set to -1 to infinite, the default will make the player autojoin when he connects to the server, the private will force the channel to use a password to join.

Blacklist
The blacklist is a complex system that uses Regex(Regular Expressions) and it’s based in this Bungee plugin. With the blacklisting you can kick people, replace for another word, color words to make it hard to read or replace it with random characters. I hope to people to contribute Regex filters to my Github to make others life easier.
Thanks to @Sinuce for helping me on regex.

Download
Jenkins

Examples:
This examples use this format in the config:

   format="&a[&3%PLAYER%&a] &c&l>> &6%MES%"

With some chat coloring:

Tags:

Features

  • Chat formating
  • Custom tags
  • Word blacklisting
  • Chat log
  • Automatic broadcasts
  • Display items in chat
  • Chat channels

Planed features

  • Chat events
  • Mute players
  • Custom death messages
  • Action bar support
  • Mail system
  • Chat pinging
  • Colored signs

Changelog

  • Version 1.4: Improved ChatLog, with Join, Quit and Death messages[Implemented in my side but not in Sponge side], Default tags. Made Json files more user friendly [see Github for examples]. Chat Channel system, local, global and more, you name it you have it!
  • Version 1.3: Automatic broadcaster. Permsissions. McStats. Showing items in chat. Fixed some crashes.
  • Version 1.2: Word blacklist. Chat log. Chat replacer.
  • Version 1.1: Implemented player tags, redone some commands.
  • Version 1.0: Initial release

Github
Issues/Suggestions

6 Likes

Moved to Plugin Sevelopment as the plugin is not released yet.

Its released, there is a link download.

Moved back to Plugin Releases. Sorry, some of us can be a bit overzealous.

6 Likes

No worries :smile:

1 Like

@Buuz135 @FerusGrim whoops, wrong topic. Sorry

1 Like

Oh and this looks amazing. Will use :smiley:

10/10 would rate again

1 Like

Im working on player tags atm :stuck_out_tongue:

@Buuz135
https://github.com/Buuz135/ExtraChat/blob/master/src/com/buuz135/extrachat/main/events/PlayerChat.java#L12-L15
I would recommend against replacing color codes on your own as you may be used to when creating Bukkit plugins. These are mostly deprecated in Minecraft, and are more and more being phased out of it. While creating messages with colors like Texts.of("§cThis is red") still works, there is no guarantee this will stay so and it is also breaking multi-line messages.

As a replacement, SpongeAPI provides Texts.fromLegacy() which is encouraged to use instead for now as it will parse the given string, and convert it into the new JSON format. To create the text using the color codes from your configuration you can use Texts.fromLegacy(message, '&')

2 Likes

The method is deprecated, is still safe to use?

It’s deprecated because ideally color codes shouldn’t be used at all anymore, but for most things there isn’t a good replacement yet. Using this method will grant you much more compatibility than with your current way.

2 Likes

I used Texts.fromLegacy() first and didnt work then I used Texts.replaceCodes() and that one worked.

Did you file a bug report?

Yes I did file one

Texts.fromLegacy() should work fine, if it doesn’t you should open an issue on the GitHub repo. Unless I’ve somehow missed it I don’t know about any reported bug about Texts.fromLegacy() - keep in mind IRC is not a good place for reporting bugs as things will get quite easily forgotten there.

Texts.replaceCodes() is basically the same as your previous code, internally it does the same thing. That means you will get the same problems as with your previous code. For constructing messages from old color codes you should always use Texts.fromLegacy()

1 Like

Maybe I derped yesterday but it didn’t work, today it does.

This is Awesome. It would be awesome if there was some way to edit previous chat messages.

Maybe log all the chats then when one is edited clear the current and send the amended chat.

I might do that, depends on how good I manage to do it.

Sevelopment? :stuck_out_tongue_winking_eye:

1 Like

Its the adult plugin category :smile:

4 Likes