Ya está aquí RoodyProxy v2.3.1Ver novedades →
RoodyChat · Archivos

config.yml

# RoodyChat configuration.
#
# Formats support & codes, &#RRGGBB hex, MiniMessage (<gradient>, <rainbow>, <bold>...) and %PlaceholderAPI%.
# Placeholders you can use in formats, hovers and clicks: {name}, {displayname}, {prefix}, {suffix},
# {world}, {channel}, {group}, {ping}, {health}, {level}, {playtime}, {first-join}; and {message} in a format.
# {prefix}/{suffix} come from LuckPerms or Vault when installed; otherwise use a %papi% placeholder
# instead or leave them empty.

# Server language for console/holograms; en + es ship, add lang/<code>.yml for more.
language: en
# true = each player sees messages in their own client language (when a translation exists).
per-player-language: true

# One format per group. The group is resolved as: a 'roodychat.group.<id>' permission given to the
# player (if they have several, the first in this list wins: put the highest first) -> LuckPerms or
# Vault primary group with the same name -> 'default'. 'default' is required.
#   hover: lines shown when hovering the sender (prefix and name), one list for everyone or one list
#          per language (en:, es:...): each player sees theirs.  click: suggest:/cmd | run:/cmd | url:... | copy:...
#   hover-on-message: true = the hover and click also cover the message itself (default false).
groups:
  admin:
    # Give this format with the permission  roodychat.group.admin  (or a LuckPerms group named 'admin').
    format: "<red>[Admin]</red> {prefix}<white>{name}</white><gray>:</gray> {message}"
    hover:
      en:
        - "<red><bold>{name}</bold></red> <dark_gray>»</dark_gray> <gray>Staff</gray>"
        - "<gray>Group: <white>{group}"
        - "<gray>Ping: <white>{ping} ms"
        - ""
        - "<gray>Click to send a message"
      es:
        - "<red><bold>{name}</bold></red> <dark_gray>»</dark_gray> <gray>Staff</gray>"
        - "<gray>Grupo: <white>{group}"
        - "<gray>Ping: <white>{ping} ms"
        - ""
        - "<gray>Clic para enviar un mensaje"
    click: "suggest:/msg {name} "
  default:
    format: "{prefix}<white>{name}</white><gray>:</gray> {message}"
    # Basic info about the player when hovering their name. Edit, add or remove lines freely.
    hover:
      en:
        - "<#F5C136><bold>{name}</bold></#F5C136>"
        - "<gray>Group: <white>{group}"
        - "<gray>Level: <white>{level}  <gray>Health: <white>{health} ❤"
        - "<gray>Ping: <white>{ping} ms"
        - "<gray>Playtime: <white>{playtime}"
        - "<gray>First joined: <white>{first-join}"
        - ""
        - "<gray>Click to send a message"
      es:
        - "<#F5C136><bold>{name}</bold></#F5C136>"
        - "<gray>Grupo: <white>{group}"
        - "<gray>Nivel: <white>{level}  <gray>Vida: <white>{health} ❤"
        - "<gray>Ping: <white>{ping} ms"
        - "<gray>Tiempo jugado: <white>{playtime}"
        - "<gray>Primera vez: <white>{first-join}"
        - ""
        - "<gray>Clic para enviar un mensaje"
    click: "suggest:/msg {name} "

# Chat channels. A player talks in their current channel (/channel <id> to switch, or
# /channel <id> <message> to send one message without switching). Each channel grants the
# permission  roodychat.channel.<id>  (default: everyone, except 'permission'/'staff' types = op).
#   type: global      everyone with the permission
#         local       players within 'radius' blocks in the same world
#         world       players in the sender's world
#         permission  everyone with the permission, but op-only by default (staff channels)
# 'format' is optional; without it the channel uses the player's group format.
channels:
  default-channel: global
  list:
    global:
      type: global
    local:
      type: local
      radius: 100
      format: "<gray>[L]</gray> {prefix}<white>{name}</white><gray>:</gray> {message}"
    staff:
      type: permission
      format: "<red>[Staff]</red> {prefix}<white>{name}</white> <dark_gray>»</dark_gray> <red>{message}</red>"
      # Shortcut commands: /sc switches to this channel, /sc <message> sends one message to it.
      commands: [sc, staffchat]

# Showcase tokens players can put in a message. [item] shows the held item and its amount with its
# real tooltip (texts token-item / token-item-amount in lang/); [inv] shows armour, off-hand and inventory;
# [inv] and [ec] post a clickable tag that opens a frozen, view-only copy. Each needs the matching
# permission (roodychat.token.item / .inv / .ec, all default true).
tokens:
  item: true
  inventory: true
  enderchest: true
  # Seconds a player must wait between showcase tokens (0 = no cooldown). roodychat.token.bypass skips it.
  cooldown-seconds: 0

# Chat moderation. Each module's 'action' is: off | warn (let it through, tell the player) |
# correct (fix it) | block (cancel it). roodychat.bypass.moderation skips all of it; staff with
# roodychat.staff get the alerts when notify-staff is true.
moderation:
  notify-staff: true
  caps:
    action: correct        # correct = make it lowercase
    min-length: 8          # only messages at least this long
    percent: 70            # % of letters that must be uppercase to trigger
  repetition:
    action: correct        # correct = collapse long runs like "aaaaaa"
    max-repeats: 3
  cooldown:
    action: off            # block | warn | off — minimum gap between messages
    seconds: 2
  flood:
    action: block          # too similar to your previous message
    similarity: 95         # % similar to trigger
  links:
    action: off            # block | correct (replace with ***) | warn | off ; roodychat.links bypasses
    allow: []              # domains to allow, e.g. [youtube.com, discord.gg]
  words:
    action: off            # block | correct (censor with *) | warn | off ; leet-aware (h0l4 = hola)
    list: []               # e.g. [badword1, badword2]
  # Escalation: a player who gets this many blocked/warned messages within the window is muted
  # automatically (violations: 0 = off). Staff can also use /roodychat mute <player> <time> and unmute.
  escalation:
    violations: 5
    window-seconds: 60
    mute-seconds: 300

# Announcements sent every interval-seconds, in order or at random (order: random).
#   type: chat | actionbar | title | bossbar  (or a list, e.g. [chat, bossbar])
#   lines: one list for everyone, or one list per language code (each player gets theirs).
#          For title: line 1 = title, line 2 = subtitle. For actionbar/bossbar: the first line.
#   hover/click (chat only): like the groups' line hover/click.  sound: "id volume pitch".
#   worlds / groups / permission: optional, who gets it (groups = LuckPerms/Vault groups,
#   inherited ones too, or roodychat.group.<id>).  Players can turn them off with /chattoggle.
# Placeholders: {player}, {online}, {max}, {world}, {prefix} (the lang prefix) and %PlaceholderAPI%.
# Send one now with /roodychat announce <id>.
announcements:
  enabled: true
  interval-seconds: 300
  order: sequential
  min-players: 1
  list:
    welcome:
      type: chat
      lines:
        en:
          - ""
          - "  <#F5C136><bold>Welcome to the server, {player}!</bold>"
          - "  <gray>Type <white>/help</white> to get started. There are <white>{online}</white> players online."
          - ""
        es:
          - ""
          - "  <#F5C136><bold>¡Bienvenido al servidor, {player}!</bold>"
          - "  <gray>Escribe <white>/help</white> para empezar. Hay <white>{online}</white> jugadores conectados."
          - ""
      hover:
        en: ["<gray>Click to open the help"]
        es: ["<gray>Clic para abrir la ayuda"]
      click: "run:/help"
      sound: "block.note_block.pling 1 1.5"
    channels:
      type: actionbar
      lines:
        en: ["<gray>Tip: talk only to nearby players with <white>/ch local</white>"]
        es: ["<gray>Consejo: habla solo con los de cerca con <white>/ch local</white>"]
    mentions:
      type: bossbar
      lines:
        en: ["<yellow>Mention someone with <white>@name</white> — they'll hear a ping"]
        es: ["<yellow>Menciona a alguien con <white>@nombre</white> — le sonará un aviso"]
      bossbar:
        color: yellow      # pink, blue, red, green, yellow, purple, white
        style: progress    # progress, notched_6, notched_10, notched_12, notched_20
        seconds: 10

# Mentions. When someone writes your name it stands out for you ('self-format') and you hear the
# sound and get an action bar (turn pings off with /chattoggle mentions). With @ (@name) it is also
# highlighted for everyone ('format'); a bare name stands out only for the player it names.
# {mention} = the name as written (@Name or Name), {name} = the player's name.
# Needs roodychat.mention (everyone); @everyone needs roodychat.mention.everyone (op).
mentions:
  enabled: true
  require-at: false        # true = only @name mentions; a bare name is just text
  format: "<yellow>{mention}</yellow>"
  self-format: "<#F5C136><bold>{mention}</bold></#F5C136>"
  hover: "<gray>Click to message <white>{name}"
  click: "suggest:/msg {name} "
  sound: "entity.experience_orb.pickup 1 1.2"
  actionbar: true
  everyone: true

# Command whitelist: when enabled, players can only run (and only see in tab-complete) the
# commands listed for the groups they are in, plus 'default'. An allowed command also allows its
# aliases and its plugin:command form. roodychat.bypass.commands (op) skips it.
# Groups are LuckPerms/Vault groups (inherited ones too) or roodychat.group.<id>.
command-whitelist:
  enabled: false
  groups:
    default: [help, list, msg, tell, r, me, channel, ch, chattoggle, spawn]
    vip: [fly, hat]

# Extra names for commands (roodychat, channel, chattoggle), applied on reload.
# Chat games: every so often a challenge shows up in chat and the first to answer it wins
# (the rewards below). /chatgame top and /chatgame stats [player]; admins: /chatgame start [type]
# and /chatgame stop. Players hide them with /chattoggle games. Playing needs roodychat.games
# (everyone).
games:
  enabled: false
  # Seconds between the end of a game and the next one.
  interval-seconds: 600
  # Fewest players (who play) online for a game to start.
  min-players: 2
  # Seconds to answer.
  time-limit: 60
  # The winning message is not shown in chat (true), or it is (false).
  hide-answer: true
  # How often each game comes up compared with the others (0 = never).
  types:
    unscramble: 3   # unscramble a word of 'words'
    missing: 2      # fill in the missing letters of a word of 'words'
    type: 2         # be the first to type a random code
    math: 2         # solve a sum
    trivia: 2       # answer a question of 'trivia'
    reaction: 1     # be the first to click a button
  # Letters of the code of the 'type' game.
  code-length: 6
  # Console commands for the winner. {player} = their name, {game} = the game (math, trivia...).
  # For example: ["eco give {player} 100", "give {player} diamond 1"]
  rewards: []
  # A game with its own rewards instead, for example: trivia: ["eco give {player} 250"]
  type-rewards: {}
  # Players shown in /chatgame top.
  top-size: 10
  sounds:
    start: "block.note_block.pling 1 1.2"
    win: "entity.player.levelup 1 1"
  # Words of unscramble and missing, in the server language (one word each, 3 letters or more).
  words:
    en: [diamond, creeper, obsidian, emerald, skeleton, villager, enchant, redstone, netherite, pickaxe, furnace, beacon, elytra, trident, lantern]
    es: [diamante, creeper, obsidiana, esmeralda, esqueleto, aldeano, encantar, redstone, netherita, pico, horno, faro, tridente, linterna, espada]
  # Questions: a text, or one per language; answers = every answer that counts (any language).
  trivia:
    - question:
        en: "How many obsidian blocks does the smallest nether portal frame need?"
        es: "¿Cuántos bloques de obsidiana necesita como mínimo el marco de un portal al Nether?"
      answers: ["10", "ten", "diez"]
    - question:
        en: "Which mob explodes when it gets close to you?"
        es: "¿Qué mob explota cuando se te acerca?"
      answers: ["creeper"]
    - question:
        en: "What do you need to make an enchanting table: a book, two diamonds and...?"
        es: "¿Qué hace falta para una mesa de encantamientos: un libro, dos diamantes y...?"
      answers: ["obsidian", "obsidiana", "4 obsidian", "four obsidian", "4 obsidiana"]
    - question:
        en: "Which dimension is the Ender Dragon in?"
        es: "¿En qué dimensión está el Ender Dragon?"
      answers: ["the end", "end", "el end", "el fin"]

command-aliases:
  roodychat: [chat]
  chatgame: [cg]

# Tell the console and admins (permission roodychat.update) when a new version is out
# on plugins.roody.es.
check-updates: true