# ============================================================
# このファイルは、アップデートで追加/変更された設定項目を
# 確認するための「完成形サンプル」です。
#
# 使い方:
#   既存の設定ファイル(拡張子.yml、pluginsフォルダ内)と見比べて、
#   足りない項目だけをこちらからコピーして追記してください。
#   このファイル自体をそのままリネームして使わないでください
#   (bot-token等は初期値のプレースホルダのままです)。
# ============================================================

# ============================================================
# DiscordBridgeJP 設定ファイル
# 詳細は同梱の仕様書 / README を参照してください。
#
# Botトークンや各チャンネルIDなど、漏洩すると影響が大きい接続情報は
# bot.yml に分離されています。そちらを参照・編集してください。
# ============================================================

# ----- コンソール連携 -----
console-command:
  # true にすると console-channel での発言をMCコマンドとして実行する(強い権限)
  enabled: false
  # 上記を許可するDiscordロールID
  role-id: "0"
# コンソールチャンネルに出すログの範囲。"ALL"=全ログ / "WARN_ERROR"=WARN・ERRORのみ
# (Discordチャンネル内でコマンドを実行した場合、その結果はこの設定に関わらず常に表示される)
console-log-level: "ALL"

# ----- 表示 / 言語 -----
# 表示言語。lang/ に読み込まれている言語コードを指定(ja, en など)
language: "ja"

# 通知のON/OFF・文言・Embed色・Discord->MC表示形式・添付の扱いは messages.yml に移動しました。

# ----- ロール色反映(MC側) -----
name-color:
  # チャット欄のプレイヤー名にロール色(フルカラー)を反映 + <名前>形式にする
  chat: true
  # 頭上ネームタグに反映(バニラ16色へ自動近似)
  nametag: true
  # タブリスト(プレイヤー一覧)に反映(フルカラー)
  tablist: true
  # Discordロール色をREST取得してからキャッシュする秒数
  cache-seconds: 300

# ----- チャットコマンド / スティッキー -----
chat-command:
  enabled: true
  prefix: "!"
sticky-message:
  enabled: true

# ----- アカウント連携 -----
link:
  # 連携コードの有効期限(秒)
  code-expiry-seconds: 600
  # 認証チャンネルに貼られた本人のコードメッセージを処理後にBotが削除するか
  delete-code-message: false
  # require-link-for-new-players: true 中の unlink 動作
  #   block = 一般プレイヤーのunlinkコマンドを拒否
  #   kick  = unlink自体は許可し、解除後に即KICK
  unlink-mode: "block"
  # 複数アカウント連携: 1つのDiscord垢に複数のMinecraft垢を紐づけられるようにするか
  multi-account:
    enabled: false
    # 1つのDiscord垢に紐づけられるMinecraft垢の上限(multi-account.enabled時のみ有効)
    max-per-discord: 2

# 新規プレイヤー(初参加)に連携を必須化するか。
# true = 連携必須化モード。初参加プレイヤーは連携必須。加えて、連携解除(unlink)自体を
#         「連携を切った」ことによるブロック対象として扱う。現在Discordサーバーに
#         在籍しているかどうかに関わらず、非除外対象者は連携解除と同時にUNLINKEDタイムアウトを
#         付与されキックされる(再ログインには連携が必要になる)。
#         - OP(自分自身)はこのチェック自体を完全にスキップする(タイムアウトも付与されない)。
#         - guild-leave.login-check-exempt-groups 所属者は、タイムアウト自体は付与されるが、
#           所属している間はキックされない。グループから外れた時点で次回ログインから
#           ブロックされる(再連携すればタイムアウトは解除される)。
#         なお、Discordサーバーからの実際の離脱(guild-leave機能)によるタイムアウトは、
#         これとは別に常時判定される(この設定の値に関わらず動作する)。
# false = 連携任意モード。初参加も連携解除も自由。解除してもキック・タイムアウトは一切発生しない。
require-link-for-new-players: false

# ----- Discordサーバー離脱検知 -----
guild-leave:
  # 連携済みプレイヤーがDiscordサーバーを抜けたら、ログイン不可(タイムアウト)にするか
  enabled: true
  # Discordサーバーに再参加した時、念のため確認コードを発行して再認証させるか
  # false にすると再参加を検知した時点で自動的にタイムアウトを解除する
  rejoin-verify: true
  # ログインを試みるたびに、そのプレイヤーのDiscord在籍状況をリアルタイムで確認するか。
  # true(デフォルト)の場合、バニラ管理者(OP)以外の連携済みプレイヤーは、参加のたびに
  # Discordへ問い合わせが発生する(数秒待たされる場合がある)。Bot接続時の一括チェックだけでは
  # 拾いきれない「Bot切断中に離脱していた」ケースも確実にブロックしたいためデフォルトON。
  # 負荷やログイン遅延が気になる場合は false にする(その場合はBot接続時の一括チェックのみになる)。
  login-check-enabled: true
  # LuckPerms導入時のみ有効。ここに指定したグループ名(複数可)に所属するプレイヤーは、
  # 除外対象として扱う(詳細な意味は上のコメント参照)。
  # 例: ["admin", "moderator"]
  login-check-exempt-groups: []

# ----- timeout/removetimeoutコマンドのタブ補完 -----
# online = オンラインプレイヤーのみ候補に出す
# all    = サーバー参加経験のある全プレイヤーを候補に出す(オンラインを上位表示)。デフォルト。
timeout-command:
  tab-complete-mode: "all"

# ----- メンテナンスモード -----
# /discordbridgejp maintenance on [理由] で即時切替・保存される
maintenance-mode: false
maintenance:
  # メンテ中のバイパス権限ノード。空ならOPのみ参加可能。
  # 例: "myserver.staff" (LuckPerms導入時のみ有効)
  bypass-permission: ""
  # 直近のメンテナンス理由(コマンドから自動保存される。手動編集も可)
  reason: ""
  # メンテナンスモード中、参加/退出通知(notifications.join/leave)をDiscordへ出すか。
  # false(デフォルト)ならメンテ中は参加/退出を一切表示しない。検証時などにtrueへ変更可能。
  notify-join-leave: false
  # メンテナンスモード中、初参加通知(notifications.first-join)をDiscordへ出すか。
  notify-first-join: false
  # メンテナンスモード中、進捗達成通知(notifications.advancement)をDiscordへ出すか。
  notify-advancement: false
  # メンテナンスモード中、死亡通知(notifications.death)をDiscordへ出すか。
  notify-death: false
  # メンテナンスモード中、サーバー起動/停止通知(server.startup/shutdown)をDiscordへ出すか。
  # true(デフォルト)。メンテ中でもサーバーの起動・停止自体は把握したいことが多いため。
  notify-server: true
  # メンテナンスモード中、MC<->Discordのチャット中継を行うか。
  # false(デフォルト)ならメンテ中はチャットが一切流れない。検証時などにtrueへ変更可能。
  chat-enabled: false

# ----- BAN同期 -----
# AdvancedBanと連携し、MinecraftとDiscordのBANを双方向に同期する。
ban-sync:
  # MinecraftでBANされたプレイヤーの連携済みDiscord垢もBANするか
  mc-to-discord: true
  # DiscordでBANされたユーザーの連携済みMinecraft垢もBANするか
  discord-to-mc: true
  # 上記のBAN解除(unban)も同様に同期するか
  unban-sync: true

# ----- 互換 -----
# discordsrv.silentjoin / silentquit 権限も discordbridgejp.* と同等に扱う
recognize-legacy-discordsrv-permissions: true

# ----- デバッグ -----
debug: false
