Roleplay chat

Quick rating

Roleplay chat

No reviews yet

This mod allows players to communicate in a roleplay (RP) setting with different ranges for various types of messages.

Mod Loaders
Fabric
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Unsupported
Server Required

About

Project Details

Type
Mod
License
All Rights Reserved
Latest Version
2.1.2+1.21.8
Authors

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

Modrinth ID

Resources

External Links

About

Description

Roleplay Chat

[!WARNING] Most features described below (RP identity system, nametag visibility, introduction system) require version 2.0 or later and Minecraft 1.21.6. Earlier versions only include the proximity chat system.

A Minecraft Fabric mod (1.21.6) for roleplay servers. It replaces the vanilla chat with a proximity-based system, assigns each player an anonymous hex code identity, and gives them an RP name visible only to players they've been introduced to.


Proximity Chat

Every chat message is delivered only to players within a configured range. The range depends on the type of message, triggered by a prefix character or a slash command.

Type Color Range Prefix Command
Whisper 🟪 Violet #CC33CC 4 blocks « or " /whisper <message>
Action 🟩 Green #33CC33 25 blocks * /action <message>
Roll 🟩 Green #33CC33 25 blocks /roll [notation]
Speak ⬜ White #FFFFFF 30 blocks (default) /speak <message>
OOC 🩶 Gray #AEC1D5 60 blocks ( /ooc <message>
Shout 🟥 Red #CC3300 80 blocks ! /shout <message>
Global OOC 🩶 Gray #AEC1D5 Unlimited [ /globalOoc <message>
Support 🩷 Pink #FF99CC Unlimited ? /support <message>

Support messages are only visible to server operators (permission level ≥ 2) and the sender.

Colors, ranges, and prefix characters are all configurable — see Configuration.

Color fade with distance

Messages fade toward black as the receiver moves away from the sender, reaching full black at maximum range. Players outside range receive nothing.

Speak radius display

Chat message examples

Speak
Speak
Whisper
Whisper
Shout
Shout
Action
Action
OOC
OOC
Global OOC
Global OOC

Dice Roll

/roll broadcasts a dice result to nearby players (same range as Action, 25 blocks by default).

Syntax: /roll [NdF[±bonus]]

Example Meaning
/roll Rolls 1d20 (default)
/roll d6 Rolls 1d6
/roll 1d20+3 Rolls 1d20, adds 3
/roll d8-1 Rolls 1d8, subtracts 1
* Alice [1d20+3] → 17  (14+3)
* Bob [1d6] → 4  (Critical Failure)

Rolling the maximum value shows (Critical Success) in bold; rolling 1 shows (Critical Failure) in bold.


RP Identity System

Anonymous hex code

Every player is assigned a unique 6-digit hex code at their first connection (e.g. #15AACF). This code:

  • Appears on their nametag (gray italic, below their RP name).
  • Replaces their Minecraft username in chat until they have an RP name.
  • Shows as a hover tooltip on their name in chat once they have an RP name.
  • Works as a target in all vanilla commands (/kick, /ban, /op, /tp, /give, /kill, /damage, …) — type # and autocomplete will suggest codes.

RP name

On first connection, players are shown a screen to choose their RP name:

RP name input screen
Name input
RP name input screen with error
Validation error

The screen cannot be bypassed with Escape — pressing Escape opens the pause menu, and the screen reappears when the player returns to the game.

Rules:

  • Must be non-empty.
  • Must be 32 characters or fewer.
  • Must be unique (case-insensitive).

Once set, the RP name can be changed at any time with /rpname <name>.

RP name chat example

Once a player has an RP name, it appears in chat instead of their hex code:

RP name in chat


Nametag Visibility

Introduction system

By default, other players' RP names are hidden — their nametag shows ?. To reveal your identity to a specific player:

/rp present #15AACF

This sends a notification to that player and permanently records the introduction. After a reconnect, introductions are restored automatically.

Nametag states

Nametag with known RP name
Known player
Nametag showing ?
Not yet introduced
Nametag hex code only
No RP name yet

Line-of-sight occlusion

RP names are not visible through walls. If a solid block stands between your camera and another player, their entire nametag disappears — even if they have introduced themselves to you. Creative mode bypasses this check.

Nametag visible
Clear line of sight
Nametag hidden by wall
Wall between players
Nametag visible through wall in creative
Creative mode — wall ignored

Identity-concealing headgear

A player wearing an item tagged roleplay-chat:conceals_identity in the helmet slot appears as ? to everyone — even players they've introduced themselves to. Their hex code remains visible so staff can still identify them.

Nametag hidden by headgear
Concealing helmet worn
Nametag visible in creative despite headgear
Creative mode — concealment ignored

The mod ships with minecraft:leather_helmet in this tag by default. To add more items, create a datapack file:

data/roleplay-chat/tags/items/conceals_identity.json

{
  "replace": false,
  "values": [
    "minecraft:leather_helmet",
    "yourmod:hood",
    "yourmod:balaclava"
  ]
}

"replace": false merges your list with the mod's defaults instead of replacing them.


Configuration (server admins)

Settings live in config/roleplay-chat.json (next to your server or .minecraft folder). The file is created with defaults on first run. Edit it as UTF-8 to preserve special prefix characters (e.g. «).

Each message type has three fields:

Field Meaning
radius Range in blocks. 0 = unlimited (delivered to all online players).
color RGB color as a decimal integer (16777215) or hex string ("#FFFFFF").
characters Prefix strings that trigger this type. speak uses [] (no prefix).

Reload without restart: /roleplaychat reload (operator level 4) re-reads the file while the server is running. If the file is invalid, the current settings are kept and an error is logged.

Supported keys: speak, whisper, shout, action, ooc, globalOoc, support, roll.

Example (excerpt):

{
  "speak": {
    "radius": 30,
    "color": 16777215,
    "characters": []
  },
  "whisper": {
    "radius": 4,
    "color": "#CC33CC",
    "characters": ["«", "\""]
  },
  "shout": {
    "radius": 80,
    "color": 13369344,
    "characters": ["!"]
  }
}

Screenshots

Gallery

  • name tag is hidden with custom helmet
    name tag is hidden with custom helmet
  • name tag is hidden behind wall
    name tag is hidden behind wall
  • name tag is visible if you are in creative mode
    name tag is visible if you are in creative mode
  • Chat Global OOC
    Chat Global OOC
  • Chat Shout
    Chat Shout
  • Chat action
    Chat action
  • Chat Whisper
    Chat Whisper
  • Chat OOC
    Chat OOC
  • Chat speak
    Chat speak
  • name tag with RP Name
    name tag with RP Name

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

~2,000
Downloads
Last Updated
CurseForge
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works