Private Messaging

PrimeChat provides a comprehensive private messaging system with advanced features for both players and administrators.

Basic Usage

Sending Messages

Command: /message <player> <message> Aliases: /msg, /tell, /w

/msg Steve Hey, want to team up?
/tell Alex Thanks for the help!
/w Notch Great game!

Replying to Messages

Command: /reply <message> Aliases: /r

/r Sure, I'd love to team up!
/r No problem, happy to help
/r Thanks! I enjoyed making it

Message Formatting

Configuration

Configure message appearance in config.yml:

private-messaging:
  # Format for sender
  sender-format: "&#FF69B4&o(To %receiver%)&r&#D3D3D3: %message%"
  
  # Format for receiver
  receiver-format: "&#FF69B4&o(From %sender%)&r&#D3D3D3: %message%"

Available Placeholders

  • %sender% - Message sender's name

  • %receiver% - Message receiver's name

  • %message% - The message content

  • Any PlaceholderAPI placeholder

Color Support

Use any formatting in private messages:

  • Classic colors: &c, &a, &b

  • Hex colors: &#FF0000, &#00FF00

  • Gradients: <#FF0000>Text</#FF5500>

Reply System

How It Works

  1. Initial Message: Player A sends message to Player B

  2. Reply Mapping: System creates bidirectional mapping

  3. Quick Reply: Both players can use /r to reply

  4. Conversation Memory: System remembers recent conversations

  5. Multiple Conversations: Handles multiple ongoing chats

Example Conversation

Steve: /msg Alex Want to build a castle?
Alex sees: (From Steve): Want to build a castle?

Alex: /r That sounds awesome! Where?
Steve sees: (From Alex): That sounds awesome! Where?

Steve: /r Meet me at spawn, I have the materials
Alex sees: (From Steve): Meet me at spawn, I have the materials

Reply System Features

  • Bidirectional: Both players can reply to each other

  • Session Persistent: Survives server restarts (configurable)

  • Multiple Conversations: Handle conversations with different players

  • Smart Mapping: Updates when new conversations start

Social Spy System

For Administrators

Monitor all private messages for moderation purposes.

Enable Spy Mode

/chat spy on    # Enable spy mode
/chat spy off   # Disable spy mode  
/chat spy       # Toggle spy mode

Spy Features

  • See All Messages: Monitor every private message

  • Custom Format: Configurable spy message appearance

  • Silent Monitoring: Players don't know they're being watched

  • Toggle Control: Easy on/off switching

  • Permission Based: Only admins can use spy mode

Spy Message Format

Configure in messages.yml:

spy:
  format: "&#FFD700[SPY] &#FFFFFF%sender% &#888888→ &#FFFFFF%receiver%&#888888: &#D3D3D3%message%"

Example Spy Output

[SPY] Steve → Alex: Want to build a castle?
[SPY] Alex → Steve: That sounds awesome! Where?
[SPY] Steve → Alex: Meet me at spawn, I have the materials

Message Logging

Automatic Logging

PrimeChat automatically logs all private messages:

  • Sender and receiver names

  • Message content

  • Timestamps

  • Server information

Log Format

[2024-01-15 14:30:25] [PM] Steve -> Alex: Want to build a castle?
[2024-01-15 14:30:45] [PM] Alex -> Steve: That sounds awesome! Where?
[2024-01-15 14:31:02] [PM] Steve -> Alex: Meet me at spawn, I have the materials

Log Storage

  • Location: plugins/PrimeChat/logs/

  • Format: Daily log files (e.g., messages-2024-01-15.log)

  • Rotation: Automatic daily rotation

  • Cleanup: Configurable log retention period

Advanced Features

Message Sounds

Play sounds when receiving private messages:

sounds:
  private-message:
    enabled: true
    sound: "BLOCK_NOTE_BLOCK_PLING"
    volume: 1.0
    pitch: 1.0

Message Notifications

Configure notification settings:

private-messaging:
  notifications:
    sender-sound: true      # Play sound for sender
    receiver-sound: true    # Play sound for receiver
    actionbar: true         # Show actionbar notification
    title: false           # Show title notification

Ignore System Integration

Works with ignore plugins:

  • Players can ignore private messages

  • Ignored players can't send messages

  • Admins can override ignore settings

  • Spy mode shows ignored messages

Configuration Examples

Minimal Setup

private-messaging:
  sender-format: "&7(To %receiver%): %message%"
  receiver-format: "&7(From %sender%): %message%"

Advanced Setup

private-messaging:
  sender-format: "&#FF69B4&l[&#FFFFFF&lTO&#FF69B4&l] &#FFFFFF%receiver% &#888888→ &#D3D3D3%message%"
  receiver-format: "&#FF69B4&l[&#FFFFFF&lFROM&#FF69B4&l] &#FFFFFF%sender% &#888888→ &#D3D3D3%message%"
  notifications:
    sender-sound: true
    receiver-sound: true
    actionbar: true

Staff-Only Messaging

private-messaging:
  restrict-to-permission: "staff.messages"
  sender-format: "&#FFD700[STAFF MSG] &#FFFFFF(To %receiver%): %message%"
  receiver-format: "&#FFD700[STAFF MSG] &#FFFFFF(From %sender%): %message%"

Troubleshooting

Common Issues

  1. Messages Not Sending

    • Check player is online

    • Verify no ignore plugins blocking

    • Ensure correct command syntax

  2. Reply Not Working

    • Check if recent conversation exists

    • Verify reply mapping is active

    • Try sending new message first

  3. Formatting Not Applied

    • Check YAML syntax

    • Ensure placeholders are correct

    • Run /chat reload after changes

  4. Spy Mode Not Working

    • Verify primechat.spy permission

    • Check if spy mode is enabled

    • Ensure spy format is configured

Best Practices

  • Regular Monitoring: Use spy mode during peak hours

  • Log Retention: Keep logs for appropriate duration

  • Format Testing: Test message formats with different lengths

  • Permission Setup: Give appropriate access to staff

  • Sound Volume: Use reasonable sound levels

Last updated