Skip to content

Citymonstret/IncendoChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IncendoChat

Spigot: link

Work in progress!

Very simple channel based chat plugin. Will support 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.
  • @player 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 [i]/[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

# 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: '&c@%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%'

Maven Repo

We use JitPack

Repository:

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

Dependency:

<dependency>
    <groupId>com.github.Sauilitired</groupId>
    <artifactId>IncendoChat</artifactId>
    <version>master-XXXXXXXX</version>
</dependency>

Note: Use the version shown on the badge to stay up to date!

About

Simple channel based chat plugin for Minecraft

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages