IncendoChat 1.0-SNAPSHOT

Simple channel based chat plugin for Minecraft

  1. I-S
    Native Minecraft Version:
    1.15
    Tested Minecraft Versions:
    • 1.15
    Source Code:
    https://github.com/Sauilitired/IncendoChat
    Contributors:
    Citymonstret
    Languages Supported:
    English
    [​IMG]

    Very simple channel based chat plugin. Supports the following features:
    • Joinable channels, with permissions, and an API that allows you to add custom restrictions
    • Chat formatting, supporting vault and PlaceholderAPI
    • JSON message formatting. Click to message a channel, click to message a player, etc.
    • @ username ping notifications
    • API to interact with chat players, channels, etc, plus events for: channel join, channel leave, channel creation and channel messages
    • (Optional) chat logging
    • Format fragments. Currently supports /[item], which will be replaced by the item in the player's main hand (hoverable!)

    Other features may be added further on.

    This plugin will not:
    - Handle mutes, punishments, etc. Use a punishment plugin for this.
    - Handle swear blocking, spam blocking etc. I recommend ChatControl and ChatEx for this functionality. IncendoChat is compatible with plugins such as these, that alter chat messages, and will respect their rules.

    Requirements
    -
    You need to have PlaceholderAPI installed.
    - You need to run (at least) Java 8.
    - The plugin is built for Spigot 1.15+. It may work with earlier versions, but they're entirely unsupported.

    Commands

    - /ch help - Display the help text (Permission: incendochat.channel)
    - /ch join <channel> - Join a channel (Permission: incendochat.channel.join)
    - /ch leave <channel> - Leave a channel (Permission: incendochat.channel.leave)
    - /ch set <channel> - Make the channel your active channel (Permission: incendochat.channel.set)
    - /ch send <channel> <msg...> - Send a message to a channel you're in (Permission: incendochat.channel.send)
    - /ch list - List all channels (Permission: incendochat.channel.list)

    Configuration Reference
    Code (YAML):

    # Pre-configured chat channels
    channels
    :
     # The global (default channel)
      global
    :
      # Name that shows up in the format, and in /ch list
       display_name
    : 'Global'
       # Format fragments. All of them are joined together to form
       # a single message
       format
    :
          # The text that is sent. Supports PlaceholderAPI placeholders
           # + %channel% and %channel_displayname%, and & color codes
         - text
    : '&c[&6%channel%&c] '
           # Message sent on text hover. Set to '' to disable
           hover
    : '&6Click to switch to this channel!'
           # Action performed on click. Set to '' to disable
           click_type
    : 'SUGGEST_COMMAND'
           # Text inserted on click. Set to '' to disable
           click_text
    : '/channel set %channel_id%'
         - text
    : '&c[&6%player_uuid%&c]'
           # Only players with the specified permission will receive this
           # fragment
           permission
    : 'incendochat.admin'
         - text
    : '%vault_prefix% %player_displayname%&7: '
           hover
    : '&6Click to message this player!'
           click_type
    : 'SUGGEST_COMMAND'
           click_text
    : '/msg %player_name% '
         - text
    : '&r%message%'
       # Permission needed to join the channel. Set to '' to disable
       permission
    : ''
       # @username ping replacement text. Set to '' to disable
       ping_format
    : '&[email protected]%name%&r'
       # The priority determines which channel will
       # be the active channel, when channels are
       # re-calculates
       priority
    : -1
    persistence
    :
     # Whether chat should be logged to the database
      chat-logging
    : false
      chat-logging-interval
    : 100 # every 100th tick
      # Whether channel memberships should persist
      channel-persistence
    : false
      # MySQL settings
      mysql
    :
       host
    : 'localhost'
       port
    : 3306
       username
    : 'username'
       password
    : 'password'
       database
    : 'chat'
    # Configurable messages
    messages
    :
      list-header
    : '&6&lIncendoChat&8> &7Channel List'
      list-header-active
    : '&eActive Channels (Click to leave):'
      list-header-available
    : '&eAvailable Channels (Click to join):'
      list-item
    : '&7- &6%channel%'
      list-item-current
    : '&7- &6%channel% (Current)'
      list-hover-join
    : '&6Click to join the channel'
      list-hover-leave
    : '&6Click to leave the channel'
      active-channel-set
    : '&6&lIncendoChat&8> &7Your active channel was set to: %channel%'
      channel-joined
    : '&6&lIncendoChat&8> &7You joined channel: %channel%'
      channel-left
    : '&6&lIncendoChat&8> &7You left channel: %channel%'
     
    BisectHosting

    IntellectualSites are proud partners of BisectHosting. BisectHosting offers a wide range of high quality Minecraft server hosting plans for servers of any size, all around the world! Check them out at this link, https://bisecthosting.com/intellectualsites and use the code intellectualsites to get 25% off your first month :) Using the link and the code supports us as well. Our development and test server is hosted at BisectHosting.​
    rmellis and SrBedRock like this.