HomeJavaModsAceChat
AceChat
logo.png
AceChat is a multifunctional JSON chat formatting and management plugin, that's fully configurable, has many features and you don't even have to write a single line of JSON code!

features.png
- Fully configurable hover and click events
- Elegant Chat Format system
- Fully configurable join and leave messages, JSON features also supported!
- Simple private messaging system, also JSON supported!
- JSON supported join and leave messages
- Global chat muting
- Global chat clearing
- Messages fully configurable
- PlaceholderAPI support
- Vault support
- Well commented configs
- Social spy
- 1.8+ Support!
- Per-group chat formatting
- NO JSON KNOWLEDGE NEEDED

images.png
Spoiler: Images
[​IMG]
Spoiler: Videos
Nothing (yet)!
Made a video and want to get it featured here? Contact me and we'll make it happen!

commands.png
- /chat (Aliases: /acechat, /ac)
-- /chat clear - Clears the global chat
-- /chat mute - Mutes the global chat
-- /chat version - Shows the current AceChat version
-- /chat reload - Reloads all configs
-- /chat help - Shows a help page with all the commands
-- /chat spy - Enable/Disable social spy
- /tell (Aliases: /pm, /message, /msg, /t, /whisper) - Sends a private message to someone
- /reply (Aliases: /r) - Replies to a private message that you received​

permissions.png
- acechat.admin.* - Gives access to the following permissions:
-- acechat.admin.clearchat - Allows the user to clear the chat
-- acechat.admin.version - Allows the user to view the version of AceChat
-- acechat.admin.help - Allows the user to view the help page of /chat
-- acechat.admin.reload - Allows the user to reload the plugin
-- acechat.admin.clearchat.bypass - Let's the user not see the chat clear
-- acechat.admin.mutechat - Allows the user to mute the global chat
-- acechat.admin.mutechat.bypass - Allows the user to chat while the global chat is muted
-- acechat.admin.socialspy - Allows the user to enable/disable social spy by doing /chat spy
- acechat.user.* - Gives access to the following permissions (Given to everyone by default):
-- acechat.user.chat - Allow the user to send chat messages.
-- acechat.user.msg - Allow the user to send private messages and reply to them
- acechat.color - Allows the user to use color codes in thier messages​

configuration.png
All configuration files listed here are always up-to-date.

Spoiler: config.yml
Code (YAML):
# Formats are created in the /formats folder
# The name doesn't matter, as long as it matches the name you specified
# To disable the certain format, input 'none'
# The extension (.yml) is not needed
# For an example, see the default chat.yml
formats
:

  # The format for the global chat
  # With this, you can do two things:
  # 1. Global chat formats
  # With this, everyone will have the same chat format
  # Example: chat: 'chat' (default)
  # 2. Per-group chat formats
  # With this, you can specify separate chat formats for separate Vault permission groups.
  # Example:
  # chat:
  #   default: 'chat'
  #   owner: 'chat-owner'
  chat
:
    default
: 'chat'
    admin
: 'chat-admin'
    owner
: 'chat-owner'

  # The format for private messages from the senders POV
  private-sender
: 'privatesender'

  # The format for private messages from the receivers POV
  private-receiver
: 'privatereceiver'

  # The format for join messages
  # With this, you can also get global and per-group formats
  # For explanation, see the command above formats.chat
  join
:
    default
: 'join'
    owner
: 'join-owner'

  # The format for leave messages
  # With this, you can also get global and per-group formats
  # For explanation, see the command above formats.chat
  leave
: 'leave'

# The amount of lines to be cleared when clearing chat
# This does not include the custom message in messages.yml
# Set default to 102, while the chat length is 100, just to be safe
clear-length
: 102

# If a join or quit format has been set to 'none', should it print out nothing (if true),
# or let it be handled by another plugin/do nothing/print out default message? (if false)
jl-none-on-none
: true

# The event priority for all the events in this plugin,
# starting with LOWEST, and ending with HIGHEST
# Better to leave these as-is, but you can change them when you are
# experiencing any problems
event-priority
:

  # Chat event is used to format the chat.
  # HIGHEST is so other plugins can for example mute the chat without
  # any problems
  chat
: 'HIGHEST'

  # Join event is used to format the join message.
  # HIGHEST is so other plugins can cancel the message, for example
  # when you are vanished
  join
: 'HIGHEST'

  # Leave event is used to format the leave message.
  # HIGHEST is so other plugins can cancel the message, for example
  # when you are vanished
  leave
: 'HIGHEST'
Spoiler: messages.yml
Code (YAML):
# Error messages
error
:

  # Message that appears when you don't have permission to do something.
  # Variables: %permission%
  nopermission
: '&4You don''t have permission to do that! &c ( %permission%)'

  # Message that appears when you type a sub-command with /chat that doesn't exist
  # Variables: %subcommand%, %label%
  invalidsubcommand
: '&4The sub-command &c/ %label% %subcommand% &4does not exist!'

  # Message that appears when you try to chat while the chat is muted
  chatmuted
: '&4You can''t chat while the chat is muted!'

  # Message that appears when you miss some arguments with /msg
  # Variables: %label%
  toolessargsmsg
: '&4Usage : &c/%label% <player> <message>'

  # Message that appears when you miss arguments with /reply
  # Variables: %label%
  toolessargsreply
: '&4Usage : &c/%label% <message>'

  # Message that appears when the specified player is not online
  # Variables: %player%
  playernotonline
: '&4The player &c %player% &4is not online!'

# Messages for /chat help
help
:

  # Header for the help page
  header
: '&8&m --------&b AceChat Help &8&m --------'

  # Format for one help item
  # Variables: %command%, %description%
  item
: '&b %command% &8- &b%description%'

# Descriptions for commands, displayed in /chat help
command-descriptions
:

  # Description for /chat version
  version
: 'Shows the plugin version'

  # Description for /chat help
  help
: 'Shows a page with all the commands'

  # Description for /chat reload
  reload
: 'Reloads the plugin'

  # Description for /chat clear
  clear
: 'Clears the chat'

  # Description for /chat mute
  mute
: ' (Un )mutes the global chat'

  # Description for /chat spy
  spy
: 'Enables/Disables social spy'

# Message for /chat version
# Variables: %version%
version
: |
 &8&m--------&b AceChat &8&m--------
  &b By SlagHoedje
  &b Version %version%

# Message when chat is cleared
# This does not include the clear lines specified in config.yml
# Variables: %player%
chatclear
: |
 &b&l  The chat has been cleared by %player%
  &r &r

# Messages for /chat reload
reload
:

  # Message that appears before reload
  before
: '&bReloading AceChat ...'

  # Message that appears after reload
  after
: '&bAceChat reloaded!'

# Messages for /chat mute
global-mute
:

  # Message for when the chat gets muted
  # Variables: %player%
  mute
: '&b&l  The chat has been muted by %player%'

  # Message for when the chat gets unmuted
  # Variables: %player%
  unmute
: '&b&l  The chat has been unmuted by %player%'

# Messages for social spy. The format is also located here
spy
:

  # Message for when someone enables the social-spy
  enable
: '&bSocial spy enabled!'

  # Message for when someone disables the social-spy
  disable
: '&bSocial spy disabled!'

  # Social spy format for when social spy is enabled and someone messages someone else
  # Variables: %player1%, %player2%, %message%
  format
: '&8 [&bSpy&8 ] [&b %player1% &8-> &b%player2%&8]: &f%message%'
Spoiler: Example Chat Format: chat.yml
Code (YAML):
# chat.yml
# Default format file for global chat
# Can be used as an example
# PlaceholderAPI is supported!

# Inbuilt placeholders:
# %player% - Player username
# %player-nick% - Player displayname
# %other% - Other username (if applicable)
# %other-nick% - Other displayname (if applicable)
# %message% - The message typed by the user

# A format is divided in parts, which you can give different
# actions on hover and click. Color codes are allowed
parts
:

  # You can call the parts anything, it's ordered by order, not by name
  1
:
    text
: '&b %vault_prefix% '
    hover
: '&bRank : &7%vault_rank%' # <- If that's '', it will be ignored
    click
:
      # Choose from OPEN_FILE, OPEN_URL, RUN_COMMAND, SUGGEST_COMMAND
      # It's pretty self-explanatory what they do
      type
: 'SUGGEST_COMMAND'
      text
: '/buy'

  2
:
    text
: ' %player-nick% &8> '
    hover
: '&bReal name : &7%player%'
    click
:
      type
: 'SUGGEST_COMMAND'
      text
: '/pm %player%'

  3
:
    text
: '&f %message%'
    # Anything you don't need, you can just leave out

ideas.png
- [item] to show item in hand
- Player mentions
- Chat rules (/rules, swear filter, url filter, etc.)
- Staff chat
- MOTD when joining
- Ignoring players (from messaging you and not seeing their chat)
- More? Tell me!

Commands

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

AceChat is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.9, 1.10, 1.11 and newer. Downloaded 21,566 times (via Spigot). Download it and open it directly in the game.

Explore more