Color & Formatting

PrimeChat supports advanced text formatting including legacy color codes, hex colors, and gradient effects to create stunning visual experiences.

Color System Overview

Supported Formats

PrimeChat supports multiple color formatting systems:

  1. Legacy Color Codes (&c, &a, etc.) - Compatible with all Minecraft versions

  2. Hex Colors (&#RRGGBB) - Requires Minecraft 1.16+ clients

  3. Gradient Colors (<#START>text</#END>) - Advanced color transitions

  4. RGB Colors (&{r,g,b}) - Alternative RGB notation

Legacy Color Codes

Basic Colors

# Standard Minecraft color codes
colors:
  "&0": "Black"
  "&1": "Dark Blue"
  "&2": "Dark Green" 
  "&3": "Dark Aqua"
  "&4": "Dark Red"
  "&5": "Dark Purple"
  "&6": "Gold"
  "&7": "Gray"
  "&8": "Dark Gray"
  "&9": "Blue"
  "&a": "Green"
  "&b": "Aqua"
  "&c": "Red"
  "&d": "Light Purple"
  "&e": "Yellow"
  "&f": "White"

Formatting Codes

# Text formatting options
formatting:
  "&k": "Obfuscated (random characters)"
  "&l": "Bold"
  "&m": "Strikethrough"
  "&n": "Underline"
  "&o": "Italic"
  "&r": "Reset (remove all formatting)"

Usage Examples

chat:
  # Basic colored text
  format: "&c[Admin] &f%player_name%&7: %message%"
  
  # Bold formatting
  format: "&c&l[VIP] &f%player_name%&7: %message%"
  
  # Multiple formatting
  format: "&6&l&n[STAFF] &f%player_name%&7: %message%"
  
  # Reset formatting mid-message
  format: "&c[Admin] &r%player_name%&7: %message%"

Hex Colors

Basic Hex Format

# Hex color format: &#RRGGBB
examples:
  red: "&#FF0000"
  green: "&#00FF00"
  blue: "&#0000FF"
  purple: "&#800080"
  orange: "&#FFA500"
  pink: "&#FF69B4"

Common Hex Colors

# Popular color palette
palette:
  # Reds
  crimson: "&#DC143C"
  coral: "&#FF7F50"
  salmon: "&#FA8072"
  
  # Blues  
  sky-blue: "&#87CEEB"
  navy: "&#000080"
  royal-blue: "&#4169E1"
  
  # Greens
  lime: "&#32CD32"
  forest: "&#228B22"
  mint: "&#98FB98"
  
  # Purples
  violet: "&#8A2BE2"
  magenta: "&#FF00FF"
  lavender: "&#E6E6FA"
  
  # Yellows/Oranges
  gold: "&#FFD700"
  orange: "&#FFA500"
  amber: "&#FFBF00"

Hex Usage Examples

chat:
  # Hex colors in format
  format: "&#FF6B6B[&#FFE66D%rank%&#FF6B6B] &#FFFFFF%player_name%&#888888: %message%"
  
  # Hover information with hex
  hover:
    lines:
      - "&#00BFFF&lPlayer Information"
      - "&#FFA500Name: &#FFFFFF%player_name%"
      - "&#32CD32Health: &#FFFFFF%player_health%"

Gradient Colors

Basic Gradient Syntax

# Gradient format: <#START_COLOR>text</#END_COLOR>
examples:
  # Red to yellow gradient
  sunset: "<#FF0000>SUNSET</#FFFF00>"
  
  # Blue to purple gradient  
  ocean: "<#0000FF>OCEAN DEPTHS</#800080>"
  
  # Green to blue gradient
  nature: "<#00FF00>FOREST TO SKY</#00BFFF>"

Multi-Color Gradients

# Complex gradients with multiple stops
gradients:
  rainbow: "<#FF0000>R</#FF7F00>A</#FFFF00>I</#00FF00>N</#0000FF>B</#8000FF>O</#FF00FF>W"
  sunset: "<#FF4500>BEAUTIFUL</#FF6347> <#FF69B4>SUNSET</#FFB6C1>"
  ocean: "<#000080>DEEP</#4169E1> <#87CEEB>OCEAN</#B0E0E6> <#F0FFFF>WAVES</#FFFFFF>"

Gradient Applications

chat:
  # Gradient player names
  format: "<#FF0000>%player_name%</#FF5500> &#FFFFFF: %message%"
  
  # Gradient rank displays
  format: "[<#FFD700>%vault_rank%</#FFA500>] %player_name%: %message%"
  
  # Gradient messages for VIPs
  vip-format: "%player_name%: <#FF69B4>%message%</#FFB6C1>"

Advanced Formatting Techniques

Combining Formats

# Mix legacy codes with hex colors
combined:
  format: "&#FF6B6B&l[ADMIN] &r&#FFFFFF%player_name%&#888888: %message%"
  
# Mix hex colors with gradients
advanced:
  format: "&#FFD700[<#FF0000>VIP</#FF5500>] &#FFFFFF%player_name%&#888888: %message%"

Animation Effects

# Animated text using obfuscated formatting
animated:
  loading: "&k&l|||&r &#87CEEBLoading... &k&l|||"
  secret: "&#FFD700Secret: &k&l????&r"
  glitch: "<#FF0000>&k█</#FF5500>&r &#FFFFFF%message% <#FF0000>&k█</#FF5500>"

Conditional Formatting

# Different colors based on conditions
conditional:
  # Health-based colors
  high-health: "&#32CD32%player_name%"    # Green for high health
  medium-health: "&#FFD700%player_name%"  # Yellow for medium health  
  low-health: "&#FF4500%player_name%"     # Red for low health
  
  # Permission-based colors
  admin: "&#FF0000&l%player_name%"        # Red bold for admins
  mod: "&#0000FF&l%player_name%"          # Blue bold for mods
  vip: "&#FFD700%player_name%"            # Gold for VIPs
  default: "&#FFFFFF%player_name%"        # White for regular players

Color Permissions

Permission-Based Formatting

# Grant formatting permissions selectively
permissions:
  # Basic color codes
  primechat.color: 
    description: "Use legacy color codes (&c, &a, etc.)"
    default: false
    
  # Hex colors
  primechat.hex:
    description: "Use hex color codes (&#RRGGBB)"
    default: false
    
  # Gradient effects
  primechat.gradient:
    description: "Use gradient color effects"
    default: false
    
  # All formatting
  primechat.format.*:
    description: "Use all formatting options"
    default: op

Group-Based Colors

# Different formatting permissions per group
groups:
  admin:
    permissions:
      - "primechat.format.*"
    colors:
      - "&#FF0000"  # Red theme
      - "&#FF4500"  # Orange red
      
  moderator:
    permissions:
      - "primechat.color"
      - "primechat.hex"
    colors:
      - "&#0000FF"  # Blue theme
      - "&#4169E1"  # Royal blue
      
  vip:
    permissions:
      - "primechat.color"
    colors:
      - "&#FFD700"  # Gold theme
      - "&#FFA500"  # Orange

Color Tools and Utilities

Color Generators

Online Tools

  • Minecraft Color Code Generator: Convert hex to Minecraft format

  • Gradient Generator: Create smooth color transitions

  • Palette Picker: Choose harmonious color schemes

  • Accessibility Checker: Ensure readable color combinations

In-Game Tools

# Color testing commands (if implemented)
color-tools:
  test-color: "/chat testcolor &#FF0000 This is red text"
  test-gradient: "/chat testgradient <#FF0000>Red to Blue</#0000FF>"
  preview-format: "/chat preview [&#FFD700VIP&#FFFFFF] %player_name%: Hello world!"

Color Validation

# Automatic color validation
validation:
  # Check hex color format
  validate-hex: true
  
  # Ensure gradient syntax is correct  
  validate-gradients: true
  
  # Warn about unsupported colors on older clients
  client-compatibility: true
  
  # Maximum gradient length (performance)
  max-gradient-length: 50

Performance Considerations

Color Processing

# Performance settings for color processing
performance:
  # Cache processed colors
  cache-colors: true
  cache-duration: 300  # seconds
  
  # Async color processing
  async-processing: true
  
  # Limit concurrent color operations
  max-concurrent: 10
  
  # Skip complex gradients for large messages
  gradient-length-limit: 100

Client Compatibility

# Handle different client versions
compatibility:
  # Fallback for pre-1.16 clients (hex colors)
  hex-fallback: "&#FFFFFF"  # White
  
  # Simplify gradients for older clients
  gradient-fallback: true
  
  # Strip unsupported formatting
  strip-unsupported: false
  
  # Notify about unsupported features
  notify-unsupported: false

Formatting Examples

Chat Formats

Simple Colored Format

format: "&c[Admin] &f%player_name%&7: %message%"
# Result: [Admin] PlayerName: Hello world!

Hex Color Format

format: "&#FF6B6B[&#FFE66D%vault_rank%&#FF6B6B] &#FFFFFF%player_name%&#888888: %message%"
# Result: [VIP] PlayerName: Hello world!

Gradient Format

format: "[<#FF0000>%vault_rank%</#FF5500>] %player_name%: %message%"
# Result: [ADMIN] PlayerName: Hello world! (with red-orange gradient on rank)

Advanced Combined Format

format: "&#FFD700&l[<#FF0000>STAFF</#FF5500>] &r&#FFFFFF%player_name%&#888888: <#00FF00>%message%</#00BFFF>"
# Complex format with bold, gradients, and multiple colors

Hover Text Examples

Basic Hover

hover:
  lines:
    - "&6Player Information"
    - "&fName: &e%player_name%"
    - "&fRank: &b%vault_rank%"

Advanced Hover

hover:
  lines:
    - "&#00BFFF&l━━━ &#FFFFFF&lPLAYER INFO &#00BFFF&l━━━"
    - ""
    - "&#FFA500◆ Name: &#FFFFFF%player_name%"
    - "&#FFA500◆ Rank: <#FFD700>%vault_rank%</#FFA500>"
    - "&#FFA500◆ Balance: &#32CD32$%vault_eco_balance%"
    - "&#FFA500◆ Health: &#FF4500❤ &#FFFFFF%player_health%/20"
    - ""
    - "&#87CEEB▶ Click to send a message!"

Private Message Formats

Sender Format

sender-format: "&#FF69B4&l→ &#FFFFFF(To %receiver%) &#D3D3D3%message%"

Receiver Format

receiver-format: "&#FF69B4&l← &#FFFFFF(From %sender%) &#D3D3D3%message%"

Gradient Private Messages

sender-format: "<#FF69B4>&l→</#FFB6C1> &#FFFFFF(To %receiver%) <#D3D3D3>%message%</#B0B0B0>"
receiver-format: "<#FF69B4>&l←</#FFB6C1> &#FFFFFF(From %sender%) <#D3D3D3>%message%</#B0B0B0>"

Troubleshooting Colors

Common Issues

Colors Not Showing

# Check client version
- Minecraft version: 1.16+ for hex colors
- Resource pack compatibility
- Client mod interference

# Verify format syntax  
- Correct hex format: &#RRGGBB
- Proper gradient syntax: <#START>text</#END>
- Valid color codes: &0-&f

Performance Problems

# Optimize color usage
- Reduce gradient frequency
- Cache color processing
- Limit complex formatting
- Use async processing

Permission Issues

# Check formatting permissions
- primechat.color for &codes
- primechat.hex for &#RRGGBB
- primechat.gradient for gradients
- Group inheritance setup

Testing and Validation

Color Testing

# Test commands for admins
test:
  basic: "/chat test &cRed &aGreen &9Blue text"
  hex: "/chat test &#FF0000Red &#00FF00Green &#0000FFBlue"
  gradient: "/chat test <#FF0000>Red to Blue</#0000FF>"
  combined: "/chat test &#FFD700&l[<#FF0000>VIP</#FF5500>] &#FFFFFFPlayer"

Validation Tools

# Built-in validation
validation:
  check-syntax: true
  warn-invalid: true
  auto-correct: false
  log-errors: true

Best Practices

Color Design Guidelines

  1. Readability: Ensure sufficient contrast with chat background

  2. Consistency: Use consistent color schemes across features

  3. Accessibility: Consider colorblind-friendly palettes

  4. Performance: Don't overuse complex gradients

  5. Client Support: Provide fallbacks for older clients

Professional Theme

professional:
  primary: "&#2C3E50"    # Dark blue-gray
  secondary: "&#34495E"  # Slate gray
  accent: "&#3498DB"     # Blue
  success: "&#27AE60"    # Green
  warning: "&#F39C12"    # Orange
  error: "&#E74C3C"      # Red
  text: "&#FFFFFF"       # White

Gaming Theme

gaming:
  primary: "&#8E44AD"    # Purple
  secondary: "&#9B59B6"  # Light purple
  accent: "&#E74C3C"     # Red
  success: "&#2ECC71"    # Green
  warning: "&#F1C40F"    # Yellow
  error: "&#E67E22"      # Orange
  text: "&#ECF0F1"       # Off-white

Minimalist Theme

minimalist:
  primary: "&#95A5A6"    # Gray
  secondary: "&#BDC3C7"  # Light gray
  accent: "&#3498DB"     # Blue
  success: "&#2ECC71"    # Green
  warning: "&#F39C12"    # Orange
  error: "&#E74C3C"      # Red
  text: "&#2C3E50"       # Dark gray

Last updated