Перейти к содержимому
Mineforgian

RexChat

A modern chat management plugin with formatting, colors, mentions, item previews, and more.

Загрузки
182
Подписчики
1
Обновлён
14 июня 2026 г.
Лицензия
AGPL-3.0-only

Опубликован 13 февраля 2025 г.

RexChat RexChat

An chat management plugin, with lots of useful features.

🔧 Requirements

The plugin does work on 1.8, but only if you use Java 21. (FlamePaper or some fork that supports it.)

✨ Features

  • Folia Support
  • ClearChat, /cc, /clearchat
  • MuteChat, /mc, /mutechat
  • Custom Join/Leave messages
  • Per-group Chat Formatting
  • Chat Reporting Disabler
  • Chat Emojis
  • Chat Colors
  • And more customizable commands! (You can add more in the config if needed)

🔒 Permissions

  • rexchat.admin - Acces to all commands. (reloading,muting,clearing)
  • rexchat.mutechat Players with this permission will be able to mute the chat.
  • rexchat.clearchat - Players with this permission will be able to clear the chat.
  • rexchat.bypass - Players with this permission will be able to write while the chat is disabled.
  • rexchat.chatcolor - Players with this permission will be able to use colors in their messages.

⚙️ Placeholders

  • %rexchat_muted% — Returns true or false if chat is muted.
  • %rexchat_chatcolor% — Returns the display name of the color. (ex: "Red", "Gold", "Green", "Rainbow")
  • %rexchat_chatcolor_raw% — Returns the raw name of the color. (ex: "red", "gold", "green")
  • %rexchat_chatcolor_format% — Returns the format of the color. (ex: "&c", "")

⚙️ Config

config.yml
# RexChat Configuration


# Update checker
update-checker:
  enabled: true
  notify-ops-on-join: false
  permission: "rexchat.admin"
  message: "%rc_prefix%&fA new version of &cRexChat &fis available: &c{latest}&7 (current: &f{current}&7). &fDownload: &chttps://www.spigotmc.org/resources/rexchat.122562/"

# Message Settings
messages:
  prefix: "&7[&6RexChat&7] "
  no-permission: "%rc_prefix%&fYou don't have permission to use this command."
  reload-success: "%rc_prefix%&fReloaded successfully!"
  command-not-found: "%rc_prefix%&fCommand not found."
  reload-usage: "%rc_prefix%&fUsage: /%cmd% reload"
  player-only: "%rc_prefix%&fThis command can only be used by players!"
  mention:
    sender: "%rc_prefix%&aYou mentioned &6{targets}"
    target: "%rc_prefix%&eYou were mentioned by &6{sender}"
    # Prevent self-mention triggers (sounds/titles/notifications) while keeping highlight
    prevent-self: true
  preview:
    target-not-found: "%rc_prefix%&cPlayer not found."
    item:
      title: "&6Item: &f{player}"
      none: "%rc_prefix%&7You are not holding any item."
      hover: "&7Click to view {player}'s item"
      text: "&f[&f{Item} &bx{Amount}&f]"
      singular-text: "&f[&f{Item}&f]"
      empty-label: "&7[&eHold an item to show it&7]"
      token-empty-error: "%rc_prefix%&cYou need to hold an item to show it."
      open: "%rc_prefix%&7Opening item preview for &6{player}"
    inventory:
      title: "&6Inventory: &f{player}"
      hover: "&7Click to view {player}'s inventory"
      label-template: "&7[&fInventory&7]"
      open: "%rc_prefix%&7Opening inventory preview for &6{player}"

mention:
  enabled: true
  color: "&6"
  by-name: true
  sound:
    enabled: true
    name: "ENTITY_EXPERIENCE_ORB_PICKUP"
    volume: 0.8
    pitch: 1.2
  notify:
    sender: false
    target: true
  title:
    enabled: true
    title: "&6Mention!"
    subtitle: "&eYou were mentioned by &6{sender}"
    fade-in: 5
    stay: 40
    fade-out: 10

# Join/Leave Messages (leave blank to disable)
join-leave:
  join-message: ""
  leave-message: ""

# Chat reporting (1.19+). When enabled, RexChat converts player chat into
# system messages to avoid signed chat reporting and validation issues.
chat-reporting:
  disable: true


# Chat Color Presets - Players can select from these using /chatcolor
# Remove or add colors as you wish - they won't regenerate automatically
chatcolor:
  enabled: true
  colors:
    red:
      format: "&c"
      permission: "rexchat.chatcolor.red"
      display-name: "Red"
    gold:
      format: "&6"
      permission: "rexchat.chatcolor.gold"
      display-name: "Gold"
    green:
      format: "&a"
      permission: "rexchat.chatcolor.green"
      display-name: "Green"
    aqua:
      format: "&b"
      permission: "rexchat.chatcolor.aqua"
      display-name: "Aqua"
    pink:
      format: "&d"
      permission: "rexchat.chatcolor.pink"
      display-name: "Pink"
    rainbow:
      format: '<rainbow>'
      permission: "rexchat.chatcolor.rainbow"
      display-name: "&cR&6a&ei&an&bb&do&5w"
    sunset:
      format: '<gradient:#FF6B6B:#FFE66D>'
      permission: "rexchat.chatcolor.sunset"
      display-name: "Sunset"
    ocean:
      format: '<gradient:#00B4DB:#0083B0>'
      permission: "rexchat.chatcolor.ocean"
      display-name: "Ocean"

# Chat Formatting
chat-format:
  enabled: true
  # Base format. Available placeholders:
  # {player}, {display_name}, {message}, {world}, {health}, {max_health}, {x}, {y}, {z}, {ping}
  # {prefix} resolves via LuckPerms/Vault directly (no PAPI required)
  format: "{prefix}&7{player} {tag}: &f{message}"
  player:
    hover:
      enabled: true
      # Lines shown on hover over the player's name. Supports same placeholders and colors.
      lines:
        - "&7Health: &c{health}&7/&c{max_health}"
        - "&7World: &f{world}"
        - "&7Location: &f{x}&7, &f{y}&7, &f{z}"
        - "&7Ping: &f{ping}ms"

  # Group-specific overrides (first matching group wins)
  # Uses LuckPerms/Vault primary group via PlaceholderAPI if available,
  # or matches by permission (e.g., group.<name>) or explicit permission below.
  groups:
    helper:
# permission: "group.helper"  # optional, if not using the primary group
      format: "{prefix}&7{player}: &a{message}"
      hover:
        enabled: true
        lines:
          - "&aHelper &7• &fPing: {ping}ms"
    moderator:
      # Optional explicit permission to match this group
      # permission: "group.moderator"
      format: "{prefix}&7{player}: &b{message}"
      hover:
        enabled: true
        lines:
          - "&bModerator &7• &fPing: {ping}ms"
    admin:
      # permission: "group.admin"
      format: "{prefix}&7{player}: &c{message}"
      hover:
        enabled: true
        lines:
          - "&cAdmin &7• &fPing: {ping}ms"

# Chat Emojis (enabled by default). Users can add more in the list below.
chat-emoji:
  enabled: true
  emojis:
    - name: "smile"
      aliases: [":)", ":smile:"]
      replacement: "☺"
    - name: "heart"
      aliases: ["<3", ":heart:"]
      replacement: "❤"

# Chat Previews
chat-previews:
  enabled: true
  tokens:
    item: ["[item]", "[i]", "{item}", "{i}"]
    inventory: ["[inventory]", "[inv]", "{inventory}", "{inv}"]

# Chat Management Settings
chat-management:
  mute:
    enabled: true
    permission: "rexchat.mute"
    muted-message: "%rc_prefix%&fThe chat is currently muted."
    mute-announcement: "%rc_prefix%&fThe chat has been muted by {player}"
    unmute-announcement: "%rc_prefix%&fThe chat has been unmuted by {player}"
  clear:
    enabled: true
    permission: "rexchat.clear"
    clear-message: "%rc_prefix%&fThe chat has been cleared by {player}"
    lines: 100

# Commands Configuration
commands:
  discord:
    enabled: true
    command: "discord"
    aliases: ["dc"]
    permission: ""
    message-list:
      - "%rc_prefix%&6Discord Server"
      - "&7• &fJoin our community: &6https://discord.gg/yourserver"
      - "&7• &fOnline Members: &61,234+"

  rules:
    enabled: true
    command: "rules"
    aliases: ["rule"]
    permission: ""
    message-list:
      - "%rc_prefix%&6Server Rules"
      - "&7• &fBe respectful to all players"
      - "&7• &fNo spamming or excessive caps"
      - "&7• &fNo advertising or self-promotion"
      - "&7• &fNo griefing or stealing"
      - "&7• &fUse appropriate language"

  store:
    enabled: true
    command: "store"
    aliases: ["shop"]
    permission: ""
    message: "%rc_prefix%&6Store &7• &fVisit our store: &6https://store.yourserver.com"

  help:
    enabled: true
    command: "help"
    aliases: ["?"]
    permission: ""
    message-list:
      - "%rc_prefix%&6Available Commands"
      - "&7• &#ffa500/discord &7- &fJoin our Discord community"
      - "&7• &#ffa500/rules &7- &fView server rules"
      - "&7• &#ffa500/store &7- &fVisit our store"
      - "&7• &#ffa500/help &7- &fShow this help message"

📥 Installation

  1. Download RexChat.jar
  2. Place it in your server's 'plugins' folder
  3. Restart your server
  4. Edit the configuration (optional)
  5. Use /rc reload to apply changes

💬 Support

Discord

📊 Statistics

Servers Players

Made with ❤️ by RexSystems

Ченджлог

1.6.6Релиз26.1, 26.1.1, 26.1.2 · 14 июня 2026 г.

Changelog

All notable changes to RexChat will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

1.6.6 - 2026-06-14

Added

  • [coords] / [here] location token. Share your current position as a clickable label in chat. Anyone can click to copy coordinates; staff with rexchat.coords.teleport can run /rexchat tpcoords <id> to teleport to the shared location.
  • Custom chat token API. Other plugins (and chat-previews.custom-tokens in config) can register clickable tokens with custom labels, hovers, and click actions (open_url, run_command, suggest_command, copy_to_clipboard). See RexChatAPI#registerCustomToken.
  • In-game container previews. Shulker boxes, barrels, bundles, and decorated pots inside inventory/item preview GUIs can be clicked to inspect their stored contents (read-only). Discord [item] previews now include container contents for all supported container types.
  • In-game shulker box contents preview. When viewing a player's inventory or held item via [inventory] / [item], clicking a shulker box inside the read-only preview GUI opens a second GUI showing what's inside. The window title is the shulker's custom name, or its default material name if unnamed. Nested shulkers (a shulker inside another shulker) can be clicked through as well.
  • DiscordSRV — shulker contents for [item]. When the held item is a shulker box, Discord now receives a second embed alongside the usual item card: a rendered PNG of the shulker GUI with its contents, titled with the shulker's name. Toggle with chat-discord.previews.item-shulker-contents (default: true); embed accent color via chat-discord.embeds.item.shulker.color.
  • DiscordSRV — rendered inventory & ender chest images. When a chat message contains [inv] or [ec], RexChat now renders an actual PNG that looks like the in-game GUI (light grey panel, recessed slots, real item textures, Monocraft font for stack counts) and posts it as a Discord attachment. Item textures are downloaded once from the configurable CDN (defaults to InventiveTalent's mirror) and cached under <plugin folder>/textures/.
  • Bundled the Monocraft font (v4.2.1) under resources/fonts/Monocraft.ttf so counts render with the Minecraft typeface even on servers that don't have a Minecraft-style font installed.
  • chat-discord.images.texture-base-url config option to point the renderer at a different texture mirror.
  • DiscordSRV soft-dependency integration: when DiscordSRV is installed, chat messages containing [item], [inv], [ec] or [bal] tokens are forwarded to the linked Discord channel as the regular chat line plus rich embeds for the previews. Items get a thumbnail (configurable URL template, defaults to InventiveTalent's Minecraft asset mirror), durability, enchantments and lore. Balances are inlined directly in the relayed line via Vault Economy.
  • chat-discord config section with toggles per preview type, channel selection (DSRV game-channel name, empty = main channel), embed colors and titles.

1.6.5 - 2026-05-10

Added

  • New [bal] / [balance] / [money] chat preview tokens (and {bal}, {balance}, {money} variants) that show the sender's economy balance via Vault, with hover tooltip showing the full amount.
  • messages.preview.balance config section with label-template, hover and unavailable-label (placeholders: {balance}, {amount}, {currency}, {player}).
  • Dedicated ender chest preview support: [ec] / [enderchest] / [echest] tokens (and curly variants) open a preview of the sender's ender chest on click.
  • Nightly build GitHub Actions workflow that publishes a rolling nightly pre-release with the latest jar on every push to main.
  • Release GitHub Actions workflow that, on every v* tag, builds the jar, creates a GitHub Release, and publishes the version to Modrinth (paper, purpur, folia, bukkit, spigot — Minecraft 1.20.4+).

Fixed

  • [ec] / [enderchest] tokens were not being replaced when the sender had a chatcolor preset selected — the color code was being prepended to the token, breaking literal matching. Balance and ender chest tokens are now also excluded from chatcolor application.
  • Emoji aliases like :) and <3 were also matching when used inside longer sequences (e.g. :)), <33). Aliases now only match as standalone tokens (surrounded by whitespace, start, or end of the message).
  • rexchat.preview.enderchest permission was missing from plugin.yml.
  • Mention highlighting could break message colors and was sometimes missing the @ symbol.
  • Player chat color is now restored after a mention highlight instead of being reset to white.

Older versions

For changes prior to 1.6.5, see the GitHub Releases page.

1.6.4Релиз26.1, 26.1.1, 26.1.2 · 27 апреля 2026 г.

🐛 Bug Fixes

  • Fixed /rexchat global and /rexchat local working when proximity chat is disabled - These subcommands now properly check if chat-management.proximity.enabled is true before executing.
  • Fixed /rexchat viewinv and /rexchat viewitem working when chat previews are disabled - These subcommands now check chat-previews.enabled before opening preview GUIs.
  • Fixed double permission prefix bug - /rexchat global and /rexchat local were checking rexchat.rexchat.proximity.toggle instead of rexchat.proximity.toggle, making them unusable for non-op players.
  • Fixed proximity message config paths - Global/local toggle messages were reading from a non-existent messages.proximity.* path instead of the correct chat-management.proximity.*.

🔧 Improvements

  • Removed dead /rexchat inv and /rexchat item subcommands - These were leftover handlers that did nothing. Preview functionality is handled by viewinv/viewitem (triggered via chat clicks).
  • Smarter tab completion - Subcommands global/local are now hidden from tab complete when proximity chat is disabled.
  • Cleaner help menu - /rexchat help now only shows proximity commands when the feature is enabled.
  • Added missing permissions to plugin.yml - rexchat.chat.minimessage, rexchat.chat.placeholders, rexchat.proximity.bypass, and rexchat.proximity.toggle are now properly defined.
  • Proximity config validation - ConfigValidator now validates proximity chat settings (enabled, radius, bypass-permission) and reports errors on misconfiguration.
1.6.3Релиз1.21.11, 26.1, 26.1.1 · 7 апреля 2026 г.

🛡️ Security Fixes

  • Patched MiniMessage bypass exploit - Implemented a secure tag-escaping method using the native Adventure escapeTags library. This fixes a vulnerability where players could use backslashes to bypass permission checks and use unauthorized MiniMessage tags (like <click> or <hover>) in chat.

🔧 Improvements

  • Code Hardening - Minor internal logic improvements to formatting handlers to prevent edge-case parsing errors.

🔧 Requirements

  • Minecraft: 1.20.4+ (Paper/Purpur/Folia)
  • Java: 21 (required)

📚 Documentation

Full documentation available at: https://rexsystems.github.io/rexchat

1.6.2Релиз1.21.9, 1.21.10, 1.21.11 · 9 марта 2026 г.

🐛 Bug Fixes

  • Fixed standalone hex colors - Hex colors like #A96EEE now work correctly when followed by text without space
  • Fixed MiniMessage hex color format - Hex colors in <#hex> format are now properly treated as MiniMessage tags instead of showing angle brackets literally
  • Fixed color bleeding in hover previews - Colors and formatting no longer bleed across multiple lines in hover text - each line now properly resets formatting
  • Fixed chat preview tokens with chat colors - Preview tokens like [item], [i], [inv], and [inventory] now work correctly even when players have a chat color preset selected

✨ Features

  • Proximity/Local Chat System - Added global proximity chat with configurable radius - messages only visible to players within X blocks in the same world
  • Proximity bypass permission - Staff can use rexchat.proximity.bypass to see all messages regardless of distance
  • PlaceholderAPI support expanded - All message strings throughout the plugin now support PlaceholderAPI placeholders

🔧 Improvements

  • Cleaner command output - Removed redundant prefix spam from /chatcolor and other command outputs for better readability
  • New API methods - Added isProximityChatEnabled(), getProximityChatRadius(), setProximityChatEnabled(), and setProximityChatRadius() for developers
1.6.1Релиз1.21.9, 1.21.10, 1.21.11 · 3 февраля 2026 г.

🐛 Bug Fixes

  • Fixed chat preview tokens not working with chat colors - Preview tokens like [item], [i], [inv], and [inventory] now work correctly even when players have a chat color preset selected
  • Improved command output formatting - Removed redundant prefix spam from /chatcolor & /help command output for cleaner display

🔧 Requirements

  • Minecraft: 1.20.4 - 1.21.11 (officially supported)
  • Java: 21 (required)

📚 Documentation

Full documentation available at: https://rexsystems.github.io/rexchat

1.6.0Релиз1.21.9, 1.21.10, 1.21.11 · 3 февраля 2026 г.

🎉 What's New

Developer API

  • Added complete Developer API for plugin integrations
  • New RexChatAPI class with methods for chat management, colors, and formatting
  • Events: ChatMuteEvent and ChatClearEvent
  • Full API documentation available at https://rexsystems.github.io/api

Bug Fixes

  • Fixed chat color presets not reloading on /rc reload

📚 Documentation

1.5.5Релиз1.21.9, 1.21.10, 1.21.11 · 26 января 2026 г.
  • Fixed a few minimal bugs.
  • Fixed a problem with colors not being cancelled correctly.
1.0.1Релиз1.21.2, 1.21.3, 1.21.4 · 13 февраля 2025 г.

Fixed color formatting issue where bold/formatting would carry over to the entire message

Fixed command visibility issues on newer versions

Added clickable links in chat (you dont need to put https:// in front of your link.)

Improved color handling compatibility across all versions

Code cleanup and optimization

Комментарии

Загружаем…