Sueta

ByteChat

2.0.1

A modern and flexible chat formatting plugin.

·Plugin
  1. 2.0.1latestByteChat 2.0.1Jul 27, 2026

    ByteChat 2.0.0​

    This update introduces several internal improvements and new features focused on flexibility, consistency, and extensibility.

    New Features​

    - Added a public API for developers, making it easier to integrate ByteChat with other plugins. - Introduced a component splicer, preventing tags and mentions from interfering with existing Adventure components.

    Improvements​

    - Formats are now stored individually under: plugins/ByteChat/formats/<format_id>.yml - This makes format management cleaner and more modular. - Improved the handling of tags and mentions, resulting in better compatibility and more predictable behavior. - JAR files now follow the naming convention: ByteChat-2.0.0.jar for better consistency with other Bytephoria plugins.

    Other Changes​

    - Various internal improvements and code cleanup. - General optimizations and bug fixes.
    27 downloads
  2. 1.7.0ByteChat 1.7.0Apr 28, 2026
    feat: add player-input preprocessor
    chat:
      # Enables ByteChat's chat system.
      # If false, the server's default chat will be used.
      enabled: true
    
      # Default format used when no permission-based format matches.
      default-format: "default"
    
      # Allows players to use color and format codes in messages.
      # MINI_MESSAGE → <gradient:...>, <bold>, etc.
      # LEGACY_AMPERSAND → &a, &b, &l, etc.
      text-formatting: true
    
      pre-processor:
        # Enables the pre-processor system.
        # When disabled, player messages are passed to the serializer as-is.
        enabled: false
    
        # Template applied to the player's raw input before serialization.
        # Parsed using the player-input-serializer — output is NOT trusted.
        # Use {message} as the placeholder for the player's original input.
        # PlaceholderAPI placeholders are supported (e.g. %player_name%).
        #
        # Note: players CAN break tags defined here (e.g. </red>), since the
        # template is merged with their input before parsing. This is expected.
        #
        # Good uses:
        #   <gray>{message}
        #   <gray>[Global]</gray> {message}
        #   <gray>%player_prefix% {message}
        #
        # Not suitable for strict/unbreakable formatting or security boundaries.
        player-input: "<red>{message}"
    36 downloads
  3. 1.6.0Mar 26, 2026
    fix: player with chat formatting permission could inject click events into their messages, potentially executing commands on other players' clients fix: inline tags ([inv], [item], [ec], etc.) displaying as raw placeholder text when combined with gradient or rainbow formatting in the same message feat: new player-input-serializer config option to control the serializer applied to player-written messages, defaults to LIMITED_MINI_MESSAGE
    settings:
      # Format engine used to parse and render the chat format template.
      # This serializer processes server-defined elements such as the player
      # name, separator, prefix, and the 'text' field of each format element.
      # Interactive tags (click, hover) are always available here since this
      # input is server-controlled.
      # Options:
      #  - MINI_MESSAGE     : <gray>, <bold>, <gradient:...>
      #  - LEGACY_AMPERSAND : &a, &b, &l, etc.
      serializer: "MINI_MESSAGE"
    
      # Format engine used to parse player-written chat messages.
      # This serializer controls what formatting players can use in their messages.
      # Options:
      #  - MINI_MESSAGE         : <gray>, <bold>, <gradient:...>
      #                           Note: use LIMITED_MINI_MESSAGE instead to prevent
      #                           players from injecting click/hover events.
      #  - LIMITED_MINI_MESSAGE : same as MINI_MESSAGE but strips interactive tags
      #                           (click, hover, insertion), preventing exploit vectors
      #                           where players could execute commands on other clients.
      #  - LEGACY_AMPERSAND     : &a, &b, &l, etc.
      #                           Interactive tags are not supported in this engine,
      #                           so no restriction is needed.
      player-input-serializer: "LIMITED_MINI_MESSAGE"
    13 downloads
  4. 1.5.0Nov 25, 2025
    - Added [enderchest] tag for displaying ender chest inventory
    chat:
      tags:
        ender-chest:
          # Enables the [ec] or [ender] tag to show a clickable
          # Ender Chest preview of the target player.
          enabled: true
    
          # Text displayed for the Ender Chest preview link.
          display-text: '[Ender Chest]'
    
          # Color of the Ender Chest link text.
          display-color: 'LIGHT_PURPLE'
    
          # Title of the Ender Chest preview GUI.
          # Variables:
          #   - [player_name] : The real, exact name of the player.
          preview-title: 'Ender Chest of [player_name]'
    
          # Maximum number of times the Ender Chest link can be clicked.
          max-clicks: 10
    
          # Duration (in seconds) before the Ender Chest link expires.
          expiration-seconds: 3600
    14 downloads
  5. 1.4.0Nov 24, 2025
    - Added new interactive chat tags system - Added new global chat mute command
    # ------------------------------
    # ByteChat - Main Configuration
    # ------------------------------
    # Global settings for chat rendering and behavior.
    
    settings:
      # Format engine used to parse and render messages.
      # Options:
      #  - MINI_MESSAGE : <gray>, <bold>, <gradient:...>
      #  - LEGACY_AMPERSAND : &a, &b, &l, etc.
      serializer: "MINI_MESSAGE"
    
    chat:
      # Enables ByteChat's chat system.
      # If false, the server's default chat will be used.
      enabled: true
    
      # Default format used when no permission-based format matches.
      default-format: "default"
    
      # Allows players to use color and format codes in messages.
      # MINI_MESSAGE → <gradient:...>, <bold>, etc.
      # LEGACY_AMPERSAND → &a, &b, &l, etc.
      text-formatting: true
    
      mentions:
        # Enables the mention system.
        # When disabled, no mentions will be detected,
        # and messages will be sent without highlight or sound.
        enabled: true
    
        # Character that triggers a player mention.
        # Must be a visible, non-whitespace ASCII character.
        # Typical options: '@', '!', '#', etc.
        trigger-char: '@'
    
        # Format applied when a mention is detected.
        # Variables available:
        #   - input_name  : The name typed by the user (raw, case as written)
        #   - player_name : The real, exact in-game player name (with correct casing)
        #
        # NOTE: Mentions are case-insensitive, but the resolved player_name
        #       will always use the player's real capitalization.
        format: '<yellow>@{player_name}</yellow>'
    
        # Whether players are allowed to mention themselves.
        # If false, "@PlayerName" written by that same player will NOT trigger.
        allow-self-mention: true
    
        # Whether the mention sound should also play when a player mentions themselves.
        # Only applies if 'allow-self-mention = true'.
        self-mention-sound: true
    
        sound:
          # Sound played ONLY to the mentioned player.
          # Set key: "" to disable sound.
          #
          # Recommended values:
          #   "entity.player.levelup"
          #   "block.note_block.pling"
          key: "entity.player.levelup"
    
          # Volume from 0.0 to 1.0+
          volume: 1.0
    
          # Pitch from 0.5 to 2.0
          pitch: 2.0
    
      tags:
        # Enables the tag resolution system.
        # When disabled, tags like {item}, {inv}, {armor} will not be processed.
        enabled: true
    
        # Maximum number of total tags a player can use in a single message.
        # Set to -1 for unlimited.
        max-tags-per-message: 1
    
        item:
          # Enables the {item} tag to show the item in the player's main hand.
          enabled: true
    
          # Format displayed when the player's hand is empty.
          empty-hand-text: '[Empty Hand]'
    
          # Color of the empty hand text.
          # Options: GRAY, RED, YELLOW, etc.
          empty-hand-color: 'GRAY'
    
        inventory:
          # Enables the {inv} tag to show a clickable inventory preview.
          enabled: true
    
          # Text displayed for the inventory link.
          display-text: '[Inventory]'
    
          # Color of the inventory link text.
          display-color: 'AQUA'
    
          # Title of the inventory preview GUI.
          preview-title: 'Inventory of a{player_name}'
    
          # Maximum number of times the inventory link can be clicked.
          max-clicks: 10
    
          # Duration (in seconds) before the inventory link expires.
          # After this time, clicking the link will no longer work.
          expiration-seconds: 70
    
        armor:
          # Enables the {armor} tag to show a clickable armor/equipment preview.
          enabled: true
    
          # Text displayed for the armor inventory link.
          display-text: '[Armor Inventory]'
    
          # Color of the armor inventory link text.
          display-color: 'AQUA'
    
          # Title of the armor preview GUI.
          preview-title: 'Armor of {player_name}'
    
          # Maximum number of times the armor link can be clicked.
          max-clicks: 10
    
          # Duration (in seconds) before the armor link expires.
          expiration-seconds: 3600
    12 downloads
  6. 1.3.0Nov 22, 2025
    - Added new player mentions system
    chat:  # Enables ByteChat’s chat system.
      mentions:
        # Enables the mention system.
        # When disabled, no mentions will be detected,
        # and messages will be sent without highlight or sound.
        enabled: true
    
        # Character that triggers a player mention.
        # Must be a visible, non-whitespace ASCII character.
        # Typical options: '@', '!', '#', etc.
        trigger-char: '@'
    
        # Format applied when a mention is detected.
        # Variables available:
        #   - input_name  : The name typed by the user (raw, case as written)
        #   - player_name : The real, exact in-game player name (with correct casing)
        #
        # NOTE: Mentions are case-insensitive, but the resolved player_name
        #       will always use the player's real capitalization.
        format: '<yellow>@{player_name}</yellow>'
    
        # Whether players are allowed to mention themselves.
        # If false, "@PlayerName" written by that same player will NOT trigger.
        allow-self-mention: true
    
        # Whether the mention sound should also play when a player mentions themselves.
        # Only applies if 'allow-self-mention = true'.
        self-mention-sound: true
    
        sound:
          # Sound played ONLY to the mentioned player.
          # Set key: "" to disable sound.
          #
          # Recommended values:
          #   "entity.player.levelup"
          #   "block.note_block.pling"
          key: "entity.player.levelup"
    
          # Volume from 0.0 to 1.0+
          volume: 1.0
    
          # Pitch from 0.5 to 2.0
          pitch: 2.0
    14 downloads
  7. 1.2.0Nov 20, 2025
    17 downloads

Similar projects

Plugin →