NightExpress's Plugins Wiki

This module provides good chat manager for your chat.

Player chat messages does not supports JSON format and NEVER WILL!

Features:

  • Anti-Caps - Prevents FULL CAPS messages.
  • Anti-Spam - Prevents from flooding messages and commands.
  • Join and Quit messages - Change (or disable) join and quit messages and make them different for player groups.
  • Death Messages - Change (or disable) player death messages from any death cause and entity.
  • Item Link - Show your item to all players in chat.
  • Global and Local chats - With configurable range.
  • Admin Chat - Channel for server admins.
  • PlaceholderAPI support.
  • Chat Rules and Punishments - Block any word/ad using regular expression and add punishment for it!
  • Auto-Announcer - Broadcasts random messages every X seconds. Supports JSON.

Settings.yml

anti-caps:
  # Enables/Disables anti-caps
  enabled: true
  # Commands, where anti-caps will have effect.
  # You can provide command alias.
  # Do not provide multiple aliases of the same command - it makes no sense.
  in-commands:
  - me
  - broadcast
  - tell
  # Min. message length to check for anti-caps
  min-length: 3
  # How many CAPS (in percent) should contain message to be changed in lower case.
  percentage: 70
  # Word whitelist
  whitelist:
  - OMG
  - LOL
  - WTF
  - WOW
  - ROFL

anti-spam:
  # Delay in seconds between the chat messages.
  chat-delay: 3
  # The same, but for commands.
  cmd-delay: 3
  # Message/Command similarity percent to be blocked.
  percentage: 90
  # Command whitelist.
  # You can provide command alias.
  # Do not provide multiple aliases of the same command - it makes no sense.
  whitelist:
  - 'tell'
  - 'spawn'
  - 'home'
  - 'sethome'
  - 'reply'
  - 'stats'
  - 'kit'
  - 'warp'
  
join-and-quit:
  # Enables/Disables custom join/quit messages.
  enabled: true
  # Join/Quit messages for specified permission groups.
  # Permission groups auto-detects from permission plugin.
  join-groups:
    Admins: '&7[&2+&7] &7Admin &2%player% &7has joined the game.'
  quit-groups:
    Admins: '&7[&4-&7] &7Admin &4%player% &7has left the game.'

item-link:
  # Enables/Disables ability to link item in chat.
  enabled: true
  # Placeholder to be replaced by item.
  keyword: '@hand'
  # Item name format.
  format: '&7<&f%item%&7>&f'

death-messages:
  # Enables/Disables custom death messages.
  enabled: true
  # List of messages for specified DeathCauses.
  # You can add multiple messages for the same cause and it will select randomly only one.
  # When player dies from the cause of entity unlisted here, no message will be displayed.
  by-cause:
    LAVA:
    - '&7(&c☠&7) &c%player% &7drowned in lava.'
    BLOCK_EXPLOSION:
    - '&7(&c☠&7) &c%player% &7blowed up!'
  # The same as above but for EntityTypes.
  by-entity:
    PLAYER:
    - '&7(&c⚔&7) &c%damager% &7killed &c%player%'
    ZOMBIE:
    - '&7(&c☠&7) &c%player%&7''s brains has been eaten by zombie.'

chat:
  format:
    # Placeholders:
    # {player_prefix} - Player group prefix.
    # {player_suffix} - Player group suffix.
    # {name} - Player name.
    # {display_name} - Player custom name (from /nick, etc).
    # {message} - Player message.
    # PlaceholderAPI is supported here! Use {} instead of %.
    local: '&3[Local] &7{player_prefix}{display_name}{player_suffix}&f: {message}'
    global: '&6[Global] &7{player_prefix}{display_name}{player_suffix}&f: {message}'
    spy: '&cSpy&7 | {world} {name}&7: {message}'
    admin: '&7[&bAdmin Chat&7] &7{player_prefix}{display_name}{player_suffix}&f: {message}'
    # Local chat range. Set on 0 to disable local chat.
    range: 100.0

# Chat rules section.
rules:
  # Rule name
  swear:
    dick:
      # Regular expression.
      # Use this site for tests: http://myregexp.com/
      match: '((D|d)+([^a-zA-ZА-Яа-я]|\s)*(i|I|1|!)+([^a-zA-ZА-Яа-я]|\s)*(c|C)+([^a-zA-ZА-Яа-я]|\s)*(k|K)+([^a-zA-ZА-Яа-я]|\s)*)'
      # Action on detect.
      # Allowed:
      # REPLACE - Replaces the bad word.
      # REPLACE_FULL - Replaces full message/command.
      # DENY - Cancels the message/command.
      action: REPLACE
      # Text to replace with.
      replace-with: '***'
      # Word, that will be ignored for this rules.
      # Maybe useful it some good word contains a little bad word.
      ignore-strings:
      - 'dickon'
    shit:
      match: '((s|S|$)+([^a-zA-ZА-Яа-я]|\s)*(h|H)+([^a-zA-ZА-Яа-я]|\s)*(i|I|1|!)+([^a-zA-ZА-Яа-я]|\s)*(T|t|7)+([^a-zA-ZА-Яа-я]|\s)*)'
      action: REPLACE
      replace-with: '***'
      ignore-strings: []
  adv:
    ips:
      match: '\b[0-9]{1,3}(\.|dot|\(dot\)|-|;|:|,|(\W|\d|_)*\s)+[0-9]{1,3}(\.|dot|\(dot\)|-|;|:|,|(\W|\d|_)*\s)+[0-9]{1,3}(\.|dot|\(dot\)|-|;|:|,|(\W|\d|_)*\s)+[0-9]{1,3}\b'
      action: DENY
      replace-with: '***'
      ignore-strings:
      - '127.0.0.1'
    domain:
      match: '[a-zA-Z0-9\-\.]+\s?(\.|dot|\(dot\)|-|;|:|,)\s?(com|org|net|cz|co|uk|sk|biz|mobi|xxx|eu|me|io|ru|su|tk|ua)\b'
      action: DENY
      replace-with: '***'
      ignore-strings:
      - 'yandex.ru'
      - 'google.com'
      - 'spigotmc.org'

# Punishments
rules-punish:
  # Rule name from the section above.
  swear:
    # Send message
    message: '&cChat &4║ &fYour message have been changed: &cSwearing&f.'
    # Executing command. Leave empty to disable.
    command: 'warn %player% Swearing'
  adv:
    message: '&cChat &4║ &fYour message have been cancelled: &cAdvertisement&f.'
    command: ''

# Auto-Announcer
announcer:
  # Time in seconds between the messages
  time: 180
  # Messages list. Use /n to make message multi-line.
  list:
  - '/n &e▣ &fFirst Line&f. /n &e▣ &fSecond Line /n &e▣ &fAnother Line&f. /n'

Commands and Permissions

Permissions List:

  • core.chat.color - Allows to use color codes in messages and commands.
  • core.chat.spy - Allows to see local chat.
  • core.chat.admin - Allows to see and use admin chat.
  • core.bypass.chat.delay.msg - Bypass chat message delays.
  • core.bypass.chat.delay.cmd - Bypass chat command delays.
  • core.bypass.chat.caps - Bypass chat anti-caps check.
  • core.bypass.chat.spam - Bypass chat similarity check.
  • core.bypass.chat.rules - Bypass chat rules check.

Command Aliases Description Player only Permission(s)
/adminchat - Toggles admin chat mode. Yes core.chat.admin
Navigation