From 3b14d0ea23da82d3936ca025bec51504f8255948 Mon Sep 17 00:00:00 2001 From: Sho Sakuma Date: Sat, 24 Jan 2026 04:40:54 +0900 Subject: docs: Add beta documents --- docs/src/guide/about.md | 60 +++++++ docs/src/guide/admin/cache.md | 41 +++++ docs/src/guide/admin/configuration.md | 180 +++++++++++++++++++++ docs/src/guide/admin/velocity.md | 13 ++ docs/src/guide/configuration.md | 180 --------------------- docs/src/guide/getting-started.md | 6 +- docs/src/guide/japanese-romanization.md | 61 ------- docs/src/guide/patch-notes/cache-file.md | 5 + docs/src/guide/patch-notes/plugin.md | 9 ++ docs/src/guide/permissions.md | 47 ------ docs/src/guide/player/channel-chat.md | 13 ++ docs/src/guide/player/direct-message.md | 65 ++++++++ docs/src/guide/player/japanese-romanization.md | 101 ++++++++++++ docs/src/index.md | 30 +++- docs/src/reference/commands/jp.md | 10 +- docs/src/reference/commands/lc/settings.md | 18 +++ docs/src/reference/commands/lc/status.md | 9 ++ docs/src/reference/commands/notice.md | 10 +- docs/src/reference/commands/reply.md | 2 +- docs/src/reference/commands/tell.md | 2 +- docs/src/reference/permissions.md | 59 +++++++ .../direct-message/minecraft-player-sound.png | Bin 0 -> 1609414 bytes docs/src/static/favicon.ico | Bin 4286 -> 4286 bytes docs/src/static/icon.png | Bin 8069496 -> 122601 bytes 24 files changed, 621 insertions(+), 300 deletions(-) create mode 100644 docs/src/guide/about.md create mode 100644 docs/src/guide/admin/cache.md create mode 100644 docs/src/guide/admin/configuration.md create mode 100644 docs/src/guide/admin/velocity.md delete mode 100644 docs/src/guide/configuration.md delete mode 100644 docs/src/guide/japanese-romanization.md create mode 100644 docs/src/guide/patch-notes/cache-file.md create mode 100644 docs/src/guide/patch-notes/plugin.md delete mode 100644 docs/src/guide/permissions.md create mode 100644 docs/src/guide/player/channel-chat.md create mode 100644 docs/src/guide/player/direct-message.md create mode 100644 docs/src/guide/player/japanese-romanization.md create mode 100644 docs/src/reference/commands/lc/settings.md create mode 100644 docs/src/reference/commands/lc/status.md create mode 100644 docs/src/reference/permissions.md create mode 100644 docs/src/static/direct-message/minecraft-player-sound.png (limited to 'docs/src') diff --git a/docs/src/guide/about.md b/docs/src/guide/about.md new file mode 100644 index 0000000..41df712 --- /dev/null +++ b/docs/src/guide/about.md @@ -0,0 +1,60 @@ +# LunaticChat について + +LunaticChat は Minecraft サーバソフトウェアである Paper / Velocity 向けのチャットプラグインです. + +2013年,[ucchyocean](https://github.com/ucchyocean) 氏が公開した [LunaChat](https://github.com/ucchyocean/LunaChat) の後継,そして最新版で動くように一から書き直したプラグインとして開発しています. + +現在 LunaChat は開発が終了しており,最新の Minecraft バージョンには対応していません.多くのサーバー管理者が LunaChat を Fork していますが, LunaticChat はその代替として,LunaChat の機能を引き継ぎつつ,最新の Minecraft バージョンで動作するよう設計されています. + +## 主な特徴 + +- **軽量で高速**: LunaticChat は高いパフォーマンスを維持しつつ,サーバーへの負荷を最小限に抑えるよう設計されています. +- **1on1 ダイレクトメッセージ機能**: /tell や /msg コマンドで,1対1のチャットが可能です. +- **クイック返信**: /reply で,直前にメッセージを送信した相手に素早く返信可能です. +- **かな・ローマ字変換**: ローマ字で入力したメッセージを,自動的に日本語に変換します. +- **CoreProtect への対応**: LunaticChat のチャットログは CoreProtect と互換性があります. +- **キャッシュによる高速動作**: ローマ字から日本語の変換はキャッシュを使用し,従来の LunaChat よりも高速に動作します. +- **最新版の対応**: 他プラグインとの依存を減らし,常に最新の Minecraft バージョンに対応します. + +## 比較 + +| | LunaticChat | LunaChat | +| ----- |-------------|----------------------------------------| +| 開発状況 | 継続的に開発中 | 開発終了 | +| 対応プラットフォーム | Paper / Velocity | Bukkit / Spigot / BungeeCord | +| サポートバージョン | 1.21.x ~ | 1.16.x まで | +| 使用言語 | Kotlin | Java | +| 依存プラグイン | なし | EssentialsX など | +| キャッシュ | あり | なし | +| ドキュメント | あり | なし | +| ライセンス | GNU General Public License v3.0 | GNU Lesser General Public License v3.0 | + +## FAQ + +### LunaticChat は無料で使えますか? + +オープンソースソフトウェアとして,LunaticChat は無料で使用,修正,配布できます. + +### LunaticChat はどの Minecraft バージョンに対応していますか? + +LunaticChat は Minecraft 1.21.x 以降のバージョンに対応しています. + +### LunaticChat は他のチャットプラグインと併用できますか? + +LunaticChat は他のチャットプラグインと併用できますが,競合を避けるために,チャット関連の機能が重複しないように注意してください. + +### LunaticChat のサポートはどこで受けられますか? + +LunaticChat のサポートは,[公式の GitHub Discussion](https://github.com/m1sk9/LunaticChat/discussions) で受けられます. + +### LunaticChat のソースコードはどこで入手できますか? + +LunaticChat のソースコードは,[GitHub](https://github.com/m1sk9/LunaticChat) で公開されています. + +### Spigot / BungeeCord 版の LunaticChat はありますか? + +ありません.対応する予定もありません.Paper / Velocity でご利用ください. + +### LunaticChat はどのようなライセンスで配布されていますか? + +LunaticChat は GNU General Public License v3.0 (GPLv3) の下で配布されています. diff --git a/docs/src/guide/admin/cache.md b/docs/src/guide/admin/cache.md new file mode 100644 index 0000000..ec00455 --- /dev/null +++ b/docs/src/guide/admin/cache.md @@ -0,0 +1,41 @@ +# キャッシュシステム + +LunaticChat では,かな・ローマ字変換時のフレーズを自動でメモリ・ディスクにキャッシュするシステムが搭載されています. + +かな・ローマ字変換に関する情報は [こちら](../player/japanese-romanization.md) をご覧ください. + +## メモリキャッシュ + +LunaticChat は変換済みのフレーズをメモリ上にキャッシュし,再度同じフレーズが要求された際に高速に応答できるようにしています. + +このキャッシュは一時的であり,サーバー再起動時や設定した秒数毎にディスクキャッシュへ保存されます. + +## ディスクキャッシュ + +LunaticChat はメモリキャッシュの内容を定期的にディスクに保存します. これにより,サーバー再起動後もキャッシュ内容を保持できるようになっています. + +ディスクキャッシュとして使用されるファイルは [設定で変更できます](../admin/configuration.md#cachefilepath). + +## キャッシュの解放 + +メモリキャッシュは,ディスクにキャッシュしたのち自動的に JVM のガベージコレクションにより解放されます. + +ディスクキャッシュは,手動でファイルを削除することで解放できます. 再起動時に LunaticChat は再度キャッシュファイルを作成します. + +::: warning パージ機能について + +LunaticChat では,キャッシュのパージ 機能は実装されていません. + +これはプレイヤー側にホストのファイルシステムを操作させることがセキュリティ上好ましくないためです. + +::: + +## キャッシュバージョン + +ディスクキャッシュに使用されるファイルには `version` フィールドが含まれており,LunaticChat のバージョンアップに伴うキャッシュフォーマットの変更に対応しています. + +バージョンが不一致の場合,LunaticChat はキャッシュファイルを **古い形式のキャッシュ** として認識し,内容を無視して新しい形式で再作成します. + +```json +{"version":"1","entries":{}} +``` diff --git a/docs/src/guide/admin/configuration.md b/docs/src/guide/admin/configuration.md new file mode 100644 index 0000000..bf9b9e6 --- /dev/null +++ b/docs/src/guide/admin/configuration.md @@ -0,0 +1,180 @@ +# 設定 + +```yaml +# ---------------------------------------------- +# -------------- LunaticChat --------------- +# ---------------------------------------------- +# +# Docs: https://lc.m1sk9.dev +# GitHub: https://github.com/m1sk9/LunaticChat +# +# This configuration file is for customizing LunaticChat's behavior. +# Please specify appropriate values to ensure LunaticChat functions correctly. +# +# For detailed configuration options, please refer to the documentation: +# https://lc.m1sk9.dev/guide/configuration +# ---------------------------------------------- + +# If enabled, Activate LunaticChat's debug mode, which provides detailed logging for troubleshooting. +debug: false + +# Path to the YAML file storing player settings +userSettingsFilePath: "player-settings.yaml" + +# If enabled, LunaticChat will check for updates on startup. +checkForUpdates: true + +# Plugin Configuration Language. This setting applies only to player feedback and does not affect plugin logs or similar outputs. +language: "en" + +# ---------------------------------------------- +# ----------- Features Settings ------------ +# ---------------------------------------------- + +features: + quickReplies: + # If enabled, the quick reply feature via the /reply command will be activated. + enabled: true + japaneseConversion: + # If enabled, enables the conversion function from Roman letters to hiragana. + enabled: false + cache: + # Specifies the maximum number of entries to store in the Romanization conversion cache. + maxEntries: 500 + # Specify the interval (in seconds) for saving the Romanization conversion cache to disk. + saveIntervalSeconds: 300 + # Specify the file path where the cache for Romanization conversion is saved. + filePath: "conversion_cache.json" + api: + # Specify the timeout duration (in milliseconds) for API requests to the Romanization conversion service. + timeout: 3000 + # Specify the number of retry attempts for failed API requests to the Romanization conversion service. + retryAttempts: 2 + +# ---------------------------------------------- +# --------- Message Format Settings -------- +# ---------------------------------------------- +# +# Customize the format of various chat messages here. +# You can use placeholders such as {sender}, {message}, etc. +# +# {sender} - The name of the message sender +# {recipient} - The name of the message recipient +# {message} - The content of the message +# ---------------------------------------------- + +messageFormat: + # Configure the format for direct messages sent via /tell or /msg + directMessageFormat: "§7[§e{sender} §7>> §e{recipient}§7] §f{message}" +``` + +## General Settings + +### `debug` + +- Type: `boolean` +- Default: `false` + +LunaticChat をデバッグモードで起動します. + +### `userSettingsFilePath` + +- Type: `string` +- Default: `player-settings.yaml` + +LunaticChat がプレイヤーの設定を保存する YAML ファイルのパスを指定します. + +### `checkForUpdates` + +- Type: `boolean` +- Default: `true` + +LunaticChat の起動時・権限を持ったプレイヤーがサーバに参加した際に,LunaticChat のアップデートを促すかどうか設定します. + +### `language` + +- Type: `string` +- Default: `en` + +LunaticChat のプレイヤー向けメッセージの言語を指定します. + +### Supported languages: + +- `en`: English +- `ja`: 日本語 + +## Features Settings + +### `features.quickReplies.enabled` + +- Type: `boolean` +- Default: `true` + +LunaticChat の [`/reply`](../../reference/commands/reply.md) コマンドによるクイックリプライ機能を有効にします. + +無効にすると [`/reply`](../../reference/commands/reply.md) コマンドは Paper に登録されず,使用できなくなります. + +### `features.japaneseConversion.enabled` + +- Type: `boolean` +- Default: `false` + +ローマ字からひらがなへの変換機能を有効にします. + +### `features.japaneseConversion` + +#### `cache.maxEntries` + +- Type: `integer` +- Default: `500` + +ローマ字変換のキャッシュに保存する最大エントリ数を指定します. + +この値を超えると,最も古いエントリから順に削除されます. + +値を高く設定すれば,変換のパフォーマンスが向上しますが,メモリ使用量・キャッシュファイルサイズも増加します. + +#### `cache.saveIntervalSeconds` + +- Type: `integer` +- Default: `300` + +ローマ字変換のキャッシュをディスクに保存する間隔(秒)を指定します. + +#### `cache.filePath` + +- Type: `string` +- Default: `conversion_cache.json` + +ローマ字変換のキャッシュを保存するファイルパスを指定します. + +ここで設定したパスは `plugins/LunaticChat/` ディレクトリを基準とした相対パスとして解釈されます. + +#### `api.timeout` + +- Type: `integer` +- Default: `3000` + +ローマ字変換 API へのリクエストのタイムアウト時間(ミリ秒)を指定します. + +#### `api.retryAttempts` + +- Type: `integer` +- Default: `2` + +ローマ字変換 API へのリクエストが失敗した場合の再試行回数を指定します. + +## Message Format Settings + +使用できるプレースホルダー: + +- `{sender}`: メッセージ送信者の名前 +- `{recipient}`: メッセージ受信者の名前 +- `{message}`: メッセージの内容 + +### `messageFormat.directMessageFormat` + +- Type: `string` +- Default: `§7[§e{sender} §7>> §e{recipient}§7] §f{message}` + +ダイレクトメッセージ( [`/tell`](../../reference/commands/tell.md) や [`/reply`](../../reference/commands/reply.md) コマンド)で送信されるメッセージのフォーマットを指定します. diff --git a/docs/src/guide/admin/velocity.md b/docs/src/guide/admin/velocity.md new file mode 100644 index 0000000..bc7f8d5 --- /dev/null +++ b/docs/src/guide/admin/velocity.md @@ -0,0 +1,13 @@ +# Velocity 連携 (クロスサーバーチャット) + +Velocity を使用して,プロキシサーバーを繋いだ Paper サーバー間のクロスサーバーチャットを行う機能です. + +::: warning 試験的機能 + +この機能は現在,試験的に実装されており,今後のアップデートで仕様が変更される可能性があります. + +規模が大きい機能なので,一気に実装はせず段階的な展開を予定しています. + +詳しい実装計画は [ロードマップ (m1sk9/LunaticChat #54)](https://github.com/m1sk9/LunaticChat/issues/54) をご覧ください. + +::: diff --git a/docs/src/guide/configuration.md b/docs/src/guide/configuration.md deleted file mode 100644 index 3b7bd1e..0000000 --- a/docs/src/guide/configuration.md +++ /dev/null @@ -1,180 +0,0 @@ -# 設定 - -```yaml -# ---------------------------------------------- -# -------------- LunaticChat --------------- -# ---------------------------------------------- -# -# Docs: https://lc.m1sk9.dev -# GitHub: https://github.com/m1sk9/LunaticChat -# -# This configuration file is for customizing LunaticChat's behavior. -# Please specify appropriate values to ensure LunaticChat functions correctly. -# -# For detailed configuration options, please refer to the documentation: -# https://lc.m1sk9.dev/guide/configuration -# ---------------------------------------------- - -# If enabled, Activate LunaticChat's debug mode, which provides detailed logging for troubleshooting. -debug: false - -# Path to the YAML file storing player settings -userSettingsFilePath: "player-settings.yaml" - -# If enabled, LunaticChat will check for updates on startup. -checkForUpdates: true - -# Plugin Configuration Language. This setting applies only to player feedback and does not affect plugin logs or similar outputs. -language: "en" - -# ---------------------------------------------- -# ----------- Features Settings ------------ -# ---------------------------------------------- - -features: - quickReplies: - # If enabled, the quick reply feature via the /reply command will be activated. - enabled: true - japaneseConversion: - # If enabled, enables the conversion function from Roman letters to hiragana. - enabled: false - cache: - # Specifies the maximum number of entries to store in the Romanization conversion cache. - maxEntries: 500 - # Specify the interval (in seconds) for saving the Romanization conversion cache to disk. - saveIntervalSeconds: 300 - # Specify the file path where the cache for Romanization conversion is saved. - filePath: "conversion_cache.json" - api: - # Specify the timeout duration (in milliseconds) for API requests to the Romanization conversion service. - timeout: 3000 - # Specify the number of retry attempts for failed API requests to the Romanization conversion service. - retryAttempts: 2 - -# ---------------------------------------------- -# --------- Message Format Settings -------- -# ---------------------------------------------- -# -# Customize the format of various chat messages here. -# You can use placeholders such as {sender}, {message}, etc. -# -# {sender} - The name of the message sender -# {recipient} - The name of the message recipient -# {message} - The content of the message -# ---------------------------------------------- - -messageFormat: - # Configure the format for direct messages sent via /tell or /msg - directMessageFormat: "§7[§e{sender} §7>> §e{recipient}§7] §f{message}" -``` - -## General Settings - -### `debug` - -- Type: `boolean` -- Default: `false` - -LunaticChat をデバッグモードで起動します. - -### `userSettingsFilePath` - -- Type: `string` -- Default: `player-settings.yaml` - -LunaticChat がプレイヤーの設定を保存する YAML ファイルのパスを指定します. - -### `checkForUpdates` - -- Type: `boolean` -- Default: `true` - -LunaticChat の起動時・権限を持ったプレイヤーがサーバに参加した際に,LunaticChat のアップデートを促すかどうか設定します. - -### `language` - -- Type: `string` -- Default: `en` - -LunaticChat のプレイヤー向けメッセージの言語を指定します. - -### Supported languages: - -- `en`: English -- `ja`: 日本語 - -## Features Settings - -### `features.quickReplies.enabled` - -- Type: `boolean` -- Default: `true` - -LunaticChat の [`/reply`](../reference/commands/reply.md) コマンドによるクイックリプライ機能を有効にします. - -無効にすると [`/reply`](../reference/commands/reply.md) コマンドは Paper に登録されず,使用できなくなります. - -### `features.japaneseConversion.enabled` - -- Type: `boolean` -- Default: `false` - -ローマ字からひらがなへの変換機能を有効にします. - -### `features.japaneseConversion` - -#### `cache.maxEntries` - -- Type: `integer` -- Default: `500` - -ローマ字変換のキャッシュに保存する最大エントリ数を指定します. - -この値を超えると,最も古いエントリから順に削除されます. - -値を高く設定すれば,変換のパフォーマンスが向上しますが,メモリ使用量・キャッシュファイルサイズも増加します. - -#### `cache.saveIntervalSeconds` - -- Type: `integer` -- Default: `300` - -ローマ字変換のキャッシュをディスクに保存する間隔(秒)を指定します. - -#### `cache.filePath` - -- Type: `string` -- Default: `conversion_cache.json` - -ローマ字変換のキャッシュを保存するファイルパスを指定します. - -ここで設定したパスは `plugins/LunaticChat/` ディレクトリを基準とした相対パスとして解釈されます. - -#### `api.timeout` - -- Type: `integer` -- Default: `3000` - -ローマ字変換 API へのリクエストのタイムアウト時間(ミリ秒)を指定します. - -#### `api.retryAttempts` - -- Type: `integer` -- Default: `2` - -ローマ字変換 API へのリクエストが失敗した場合の再試行回数を指定します. - -## Message Format Settings - -使用できるプレースホルダー: - -- `{sender}`: メッセージ送信者の名前 -- `{recipient}`: メッセージ受信者の名前 -- `{message}`: メッセージの内容 - -### `messageFormat.directMessageFormat` - -- Type: `string` -- Default: `§7[§e{sender} §7>> §e{recipient}§7] §f{message}` - -ダイレクトメッセージ( [`/tell`](../reference/commands/tell.md) や [`/reply`](../reference/commands/reply.md) コマンド)で送信されるメッセージのフォーマットを指定します. diff --git a/docs/src/guide/getting-started.md b/docs/src/guide/getting-started.md index 85fbf31..08fe38a 100644 --- a/docs/src/guide/getting-started.md +++ b/docs/src/guide/getting-started.md @@ -2,7 +2,7 @@ ## インストール -プラグインをインストールします.プラグインは以下から入手できます: +LunaticChat をインストールします.LunaticChat は以下から入手できます: - [GitHub](https://github.com/m1sk9/LunaticChat/releases) - [Modrinth](https://modrinth.com/project/lunaticchat) @@ -17,7 +17,7 @@ LunaticChat を起動すると以下のファイルが作成されます. - `plugins/LunaticChat/player-settings.yaml`:ユーザーごとの設定ファイル - `plugins/LunaticChat/conversion_cache.json`: ローマ字変換のキャッシュファイル -設定ファイル `config.yml` を開き,必要に応じて設定を変更します.設定項目の詳細については,[設定ガイド](./configuration.md)を参照してください. +設定ファイル `config.yml` を開き,必要に応じて設定を変更します.設定項目の詳細については,[設定ガイド](admin/configuration.md)を参照してください. ## パーミッション @@ -25,5 +25,5 @@ LunaticChat のパーミッションを LuckPerms などのパーミッション 基本的なパーミッションは Paper や Velocity のデフォルトパーミッションシステム ( `OP` / `non OP` ) でも設定できますが,より詳細な制御を行う場合は LuckPerms の使用を推奨します. -- パーミッションノードの詳細については [パーミッションガイド](./permissions.md)を参照してください. +- パーミッションノードの詳細については [パーミッションガイド](../reference/permissions.md)を参照してください. - コマンドの各機能に対応するパーミッションノードは,[コマンドリファレンス](../reference/index.md)を参照してください. diff --git a/docs/src/guide/japanese-romanization.md b/docs/src/guide/japanese-romanization.md deleted file mode 100644 index 3e9d702..0000000 --- a/docs/src/guide/japanese-romanization.md +++ /dev/null @@ -1,61 +0,0 @@ -# ローマ字変換 - -LunaticChat では、日本語のテキストをローマ字に変換する機能が提供されています. - -## 設定を有効化する - -ローマ字変換機能を有効にするには `features.japaneseConversion.enabled` の値を `true` にする必要があります. - -```yaml{4} -features: - # ... - japaneseConversion: - enabled: true -``` - -## 変換の仕組み - -LunaticChat はプレイヤーからのテキストを以下の手順で変換を行います. - -1. プレイヤーからのテキストがローマ字で構成されているかを検証する -2. メモリキャッシュから該当のフレーズがあるかどうかを調べる - 1. ここで該当フレーズがヒットした場合はそれをサーバーに返す -3. メモリキャッシュに存在していない場合は,ローマ字からひらがなに変換する -4. 変換した文字列を Google IME API へ送り,人が読める形に変換する -5. メモリキャッシュに保存し,それをサーバーに返す - -``` -┌───────────────────────────────────────────────────┐ -│ User Input │ -│ (Romanji Text) │ -└─────────────────────┬─────────────────────────────┘ - │ - ▼ -┌───────────────────────────────────────────────────┐ -│ RomanjiConverter │ -│ ┌───────────────────────────────────────────┐ │ -│ │ 1. Check Memory Cache │ │ -│ │ └─→ Hit: Return immediately │ │ -│ │ │ │ -│ │ 2. Call Google IME API │ │ -│ │ │ │ -│ │ 3. Store in Memory Cache │ │ -│ │ │ │ -│ │ 4. Queue for Disk Save (async) │ │ -│ └───────────────────────────────────────────┘ │ -└─────────────────────┬─────────────────────────────┘ - │ - ▼ -┌───────────────────────────────────────────────────┐ -│ Converted Text │ -│ (Japanese Text) │ -└───────────────────────────────────────────────────┘ -``` - -::: tip ファイルへの保存 - -メモリキャッシュの内容は負荷にならないよう,設定した秒毎にファイルキャッシュへ自動でセーブします. - -::: - -## diff --git a/docs/src/guide/patch-notes/cache-file.md b/docs/src/guide/patch-notes/cache-file.md new file mode 100644 index 0000000..654dc77 --- /dev/null +++ b/docs/src/guide/patch-notes/cache-file.md @@ -0,0 +1,5 @@ +# パッチノート: キャッシュファイル + +| キャッシュバージョン | サポートバージョン | +|------------|-----------| +| v1 | v0.1.0 ~ | diff --git a/docs/src/guide/patch-notes/plugin.md b/docs/src/guide/patch-notes/plugin.md new file mode 100644 index 0000000..9fc1ad2 --- /dev/null +++ b/docs/src/guide/patch-notes/plugin.md @@ -0,0 +1,9 @@ +# パッチノート: プラグイン + +プラグインのパッチノートはここでは記載していません.[GitHubのリリースページ](https://github.com/m1sk9/LunaticChat/releases) や [ディスカッションページのリリースノートカテゴリー](https://github.com/m1sk9/LunaticChat/discussions/categories/announcements) をご覧ください. + +---- + +| メジャーバージョン | コードネーム | 開発期間 | サポートバージョン | +|-----------|---------|-----------|-----------| +| v0 | lunatic | 2026/01 ~ | 1.21.x | diff --git a/docs/src/guide/permissions.md b/docs/src/guide/permissions.md deleted file mode 100644 index 3042e6f..0000000 --- a/docs/src/guide/permissions.md +++ /dev/null @@ -1,47 +0,0 @@ -# パーミッション - -LuckPerms を使用した設定方法に関する詳細は [LuckPerms Wiki](https://luckperms.net/wiki/Home) を参照してください. - -## `lunaticchat.*` - -### `lunaticchat.spy` - -- Default: `OP` - -[`/tell`](../reference/commands/tell.md) / [`/reply`](../reference/commands/reply.md) コマンドでのやり取りを可視化します. - -この権限を持つプレイヤーは他プレイヤーの [`/tell`](../reference/commands/tell.md) / [`/reply`](../reference/commands/reply.md) でのメッセージがブロードキャストされます. - -### `lunaticchat.noticeUpdate` - -- Default: `OP` - -LunaticChat のアップデート通知を受け取ります. - -[受け取るには `checkForUpdates` を有効にしておく](../guide/configuration.md#checkforupdates) 必要があります. - -## `lunaticchat.command.*` - -### `lunaticchat.command.tell` - -- Default: `non OP` - -[`/tell`](../reference/commands/tell.md) コマンドの使用を切り替えます. - -### `lunaticchat.command.reply` - -- Default: `non OP` - -[`/reply`](../reference/commands/reply.md) コマンドの使用を切り替えます. - -### `lunaticchat.command.jp` - -- Default: `non OP` - -[`/jp`](../reference/commands/jp.md) コマンドの使用を切り替えます. - -### `lunaticchat.command.notice` - -- Default: `non OP` - -[`/notice`](../reference/commands/notice.md) コマンドの使用を切り替えます. diff --git a/docs/src/guide/player/channel-chat.md b/docs/src/guide/player/channel-chat.md new file mode 100644 index 0000000..ce5a43e --- /dev/null +++ b/docs/src/guide/player/channel-chat.md @@ -0,0 +1,13 @@ +# チャンネルチャット + +特定のプレイヤー間で,チャットを共有できる機能です. + +::: warning 試験的機能 + +この機能は現在,試験的に実装されており,今後のアップデートで仕様が変更される可能性があります. + +規模が大きい機能なので,一気に実装はせず段階的な展開を予定しています. + +詳しい実装計画は [ロードマップ (m1sk9/LunaticChat #54)](https://github.com/m1sk9/LunaticChat/issues/54) をご覧ください. + +::: diff --git a/docs/src/guide/player/direct-message.md b/docs/src/guide/player/direct-message.md new file mode 100644 index 0000000..78de1c3 --- /dev/null +++ b/docs/src/guide/player/direct-message.md @@ -0,0 +1,65 @@ +# ダイレクトメッセージ + +特定のプレイヤーに対してのみメッセージを送信するダイレクトメッセージ機能です. + +## メッセージを送信する + +メッセージを送信するには [`/tell`](../../reference/commands/tell.md) コマンドを使用します. + +オンラインプレイヤーに対してのみメッセージを送信できます.オフラインプレイヤーには送信できません. + +``` +/tell +``` + +::: tip 補完機能 + +LunaticChat はチャット入力時にプレイヤー名の補完をサポートしています. + +例えば,`/tell Al` と入力した場合,`Al` で始まるオンラインプレイヤー名が候補として表示されます. + +::: + +::: warning GeyserMC 環境での動作 + +GeyserMC 環境を用いて Minecraft Bedrock Edition から接続しているプレイヤーに機能を提供している場合の動作は保証していません. + +LunaticChat は Minecraft Java Edition / Paper のチャットシステムを前提として設計されているため,GeyserMC 経由での動作に問題が発生する可能性があります.対応の予定はありません. + +::: + +## クイックリプライ機能 + +LunaticChat では,直前にダイレクトメッセージを送信した相手に対して素早く返信できるクイックリプライ機能が提供されています. + +クイックリプライを使用するには [`/reply`](../../reference/commands/reply.md) コマンドを使用します. + +``` +/reply +``` + +::: warning このコマンドが使用できない場合 + +このコマンドが無効化されている可能性があります (この機能は設定で ON/OFF できるため) + +サーバーの管理者に連絡してください. + +::: + +## 通知設定 + +v0.4.0 以降,ダイレクトメッセージの通知設定を変更できるようになりました. + +ダイレクトメッセージを受信・送信時に通知音がなるようになります. + +通知設定を変更するには [`/lc settings`](../../reference/commands/lc/settings.md) コマンドを使用します. + +::: tip クライアントでの音量設定 + +この通知音はクライアント上の **プレイヤー** カテゴリーの音量設定に依存します. + +LunaticChat の通知音が聞こえない場合は,クライアントの音量設定を確認してください. + +![](/static/direct-message/minecraft-player-sound.png) + +::: diff --git a/docs/src/guide/player/japanese-romanization.md b/docs/src/guide/player/japanese-romanization.md new file mode 100644 index 0000000..3b62e51 --- /dev/null +++ b/docs/src/guide/player/japanese-romanization.md @@ -0,0 +1,101 @@ +# ローマ字変換 + +LunaticChat では、日本語のテキストをローマ字に変換する機能が提供されています. + +## 有効化・無効化 + +ローマ字変換機能はデフォルトで有効化されています. + +[`/lc settings`](../../reference/commands/lc/settings.md) コマンドを使用して,ローマ字変換の設定を切り替えることができます. + +## 変換の仕組み + +LunaticChat はプレイヤーからのテキストを以下の手順で変換を行います. + +1. プレイヤーからのテキストがローマ字で構成されているかを検証する +2. メモリキャッシュから該当のフレーズがあるかどうかを調べる + 1. ここで該当フレーズがヒットした場合はそれをサーバーに返す +3. メモリキャッシュに存在していない場合は,ローマ字からひらがなに変換する +4. 変換した文字列を Google IME API へ送り,人が読める形に変換する +5. メモリキャッシュに保存し,それをサーバーに返す + +``` +┌───────────────────────────────────────────────────┐ +│ User Input │ +│ (Romanji Text) │ +└─────────────────────┬─────────────────────────────┘ + │ + ▼ +┌───────────────────────────────────────────────────┐ +│ RomanjiConverter │ +│ ┌───────────────────────────────────────────┐ │ +│ │ 1. Check Memory Cache │ │ +│ │ └─→ Hit: Return immediately │ │ +│ │ │ │ +│ │ 2. Call Google IME API │ │ +│ │ │ │ +│ │ 3. Store in Memory Cache │ │ +│ │ │ │ +│ │ 4. Queue for Disk Save (async) │ │ +│ └───────────────────────────────────────────┘ │ +└─────────────────────┬─────────────────────────────┘ + │ + ▼ +┌───────────────────────────────────────────────────┐ +│ Converted Text │ +│ (Japanese Text) │ +└───────────────────────────────────────────────────┘ +``` + +::: tip ファイルへの保存 + +メモリキャッシュの内容は負荷にならないよう,設定した秒毎・サーバ停止後にファイルキャッシュへ自動でセーブします. + +::: + +キャッシュファイルに関する情報は [こちら](../admin/cache.md) をご覧ください. + +## 改善されたキャッシュ戦略 + +v0.5.0 以降,LunaticChat はローマ字変換のキャッシュ戦略を改善しました. + +プレイヤーのチャットを単語ごとにキャッシュするようになり,より効率的に変換を行えるようになりました. + +例えば,以下のような長文のチャットがあるとします. + +> konnichiwa minna ohayou gozaimasu kyou wa totemo ii tenki desu ne bokutachi wa issho ni asobi ni ikimashou kono atarashii game wo tameshite mitai to omoimasu sore wa totemo omoshiroi to kiite imasu arigatou gozaimasu mata ne + +LunaticChat はこの文章を一度に変換するのではなく,単語ごとに分割してキャッシュを行います. + +これにより,例えば「konnichiwa」や「minna」などの単語が既にキャッシュされている場合,それらの単語は再度変換する必要がなくなり,変換速度が大幅に向上します. + +### 1回目の変換 + +``` +入力: "konnichiwa minna ohayou gozaimasu" + +konnichiwa → API → こんにちは (キャッシュ保存) +minna → API → みんな (キャッシュ保存) +ohayou → API → おはよう (キャッシュ保存) +gozaimasu → API → ございます (キャッシュ保存) + +結果: "こんにちは みんな おはよう ございます" +APIコール: 4回 +``` + +### 2回目の変換 + +``` +入力: "ohayou gozaimasu kyou wa ii tenki desu" + +ohayou → キャッシュヒット → おはよう +gozaimasu → キャッシュヒット → ございます +kyou → API → 今日 (キャッシュ保存) +wa → API → は (キャッシュ保存) +ii → API → いい (キャッシュ保存) +tenki → API → 天気 (キャッシュ保存) +desu → API → です (キャッシュ保存) + +結果: "おはよう ございます 今日 は いい 天気 です" +APIコール: 5回(キャッシュヒット: 2回) +``` diff --git a/docs/src/index.md b/docs/src/index.md index e5da462..6fe6743 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -4,24 +4,48 @@ layout: home hero: name: "LunaticChat" - tagline: Next-generation channel chat plugin + tagline: Next-generation chat plugin for Paper/Velocity. actions: - theme: brand text: はじめる link: /guide/getting-started + - theme: brand + text: LunaticChat について + link: /guide/about - theme: brand text: リファレンス link: /reference - theme: alt text: GitHub link: https://github.com/m1sk9/LunaticChat + image: + src: static/icon.png + alt: LunaticChat Logo features: + - title: 1on1 ダイレクトメッセージ機能 + details: /tell や /msg コマンドで,1対1のチャットが可能 + icon: ✉️ + - title: クイック返信 + details: /reply で,直前にメッセージを送信した相手に素早く返信可能 + icon: 💌 + - title: かな・ローマ字変換 + details: ローマ字で入力したメッセージを,自動的に日本語に変換 + icon: 🌍 + - title: CoreProtect への対応 + details: LunaticChat のチャットログは CoreProtect と互換性があります + icon: 🗒️ + - title: チャンネルチャット機能 (実装予定) + details: チャットチャンネルを作成・管理し,特定のプレイヤー間でのプライベートメッセージを送信可能 + icon: ☎️ + - title: マルチプラットフォーム対応 (実装予定) + details: Paper と Velocity のマルチプラットフォームに対応し,サーバ間チャットを実現します + icon: 🚀 - title: キャッシュによる高速動作 details: ローマ字から日本語の変換はキャッシュを使用し,従来の LunaChat よりも高速に動作します - - title: マルチプラットフォーム対応 (予定) - details: Paper と Velocity のマルチプラットフォームに対応し,サーバ間チャットを実現します + icon: 🎈 - title: 最新版の対応 details: 他プラグインとの依存を減らし,常に最新の Minecraft バージョンに対応します + icon: ⛏️️ --- diff --git a/docs/src/reference/commands/jp.md b/docs/src/reference/commands/jp.md index 8f77b12..e850400 100644 --- a/docs/src/reference/commands/jp.md +++ b/docs/src/reference/commands/jp.md @@ -1,6 +1,12 @@ -# /jp +# /jp -### `/jp [on | off]` +### `/jp [on | off]` + +::: danger 非推奨 + +このコマンドは v0.5.0 で非推奨となりました.代わりに [`/lc settings`](lc/settings.md) コマンドを使用してください. + +::: | パーミッション | |--------------------------| diff --git a/docs/src/reference/commands/lc/settings.md b/docs/src/reference/commands/lc/settings.md new file mode 100644 index 0000000..86e0a9d --- /dev/null +++ b/docs/src/reference/commands/lc/settings.md @@ -0,0 +1,18 @@ +# /lc settings + +### `/lc settings [value]` + +| パーミッション | +|--------------------------------| +| `lunaticchat.command.settings` | + +LunaticChat のプレイヤー設定を管理します.値を指定しなかった場合は設定値が表示されます. + +この設定は UUID で保存されるため, MCID を切り替えても設定が消えることはありません. + +#### 利用可能なキー + +| キー | 説明 | デフォルト値 | +|----------|----------------------------------------------------------|--------| +| `jp` | ローマ字変換の有効化・無効化を切り替えます. | `true` | +| `notice` | `/tell` や `/reply` でダイレクトメッセージを受信した際に通知を受け取るかどうかを切り替えます. | `true` | diff --git a/docs/src/reference/commands/lc/status.md b/docs/src/reference/commands/lc/status.md new file mode 100644 index 0000000..1b9ddcb --- /dev/null +++ b/docs/src/reference/commands/lc/status.md @@ -0,0 +1,9 @@ +# /lc status + +### `/lc status` + +| パーミッション | +|------------------------------| +| `lunaticchat.command.status` | + +LunaticChat のステータスを表示します. diff --git a/docs/src/reference/commands/notice.md b/docs/src/reference/commands/notice.md index 5cd1a2c..830166b 100644 --- a/docs/src/reference/commands/notice.md +++ b/docs/src/reference/commands/notice.md @@ -1,6 +1,12 @@ -# /notice   +# /notice -### `/notice [on | off]` +### `/notice [on | off]` + +::: danger 非推奨 + +このコマンドは v0.5.0 で非推奨となりました.代わりに [`/lc settings`](lc/settings.md) コマンドを使用してください. + +::: | パーミッション | エイリアス | |-----------------------------|-------------| diff --git a/docs/src/reference/commands/reply.md b/docs/src/reference/commands/reply.md index 27e0660..201af39 100644 --- a/docs/src/reference/commands/reply.md +++ b/docs/src/reference/commands/reply.md @@ -1,4 +1,4 @@ -# /reply   +# /reply   ### `/reply <メッセージ>` diff --git a/docs/src/reference/commands/tell.md b/docs/src/reference/commands/tell.md index cf38815..6f6e897 100644 --- a/docs/src/reference/commands/tell.md +++ b/docs/src/reference/commands/tell.md @@ -1,4 +1,4 @@ -# /tell +# /tell ### `/tell <プレイヤーID> <メッセージ>` diff --git a/docs/src/reference/permissions.md b/docs/src/reference/permissions.md new file mode 100644 index 0000000..0f3cd97 --- /dev/null +++ b/docs/src/reference/permissions.md @@ -0,0 +1,59 @@ +# パーミッション + +LuckPerms を使用した設定方法に関する詳細は [LuckPerms Wiki](https://luckperms.net/wiki/Home) を参照してください. + +## `lunaticchat.*` + +### `lunaticchat.spy` + +- Default: `OP` + +[`/tell`](commands/tell.md) / [`/reply`](commands/reply.md) コマンドでのやり取りを可視化します. + +この権限を持つプレイヤーは他プレイヤーの [`/tell`](commands/tell.md) / [`/reply`](commands/reply.md) でのメッセージがブロードキャストされます. + +### `lunaticchat.noticeUpdate` + +- Default: `OP` + +LunaticChat のアップデート通知を受け取ります. + +[受け取るには `checkForUpdates` を有効にしておく](../guide/admin/configuration.md#checkforupdates) 必要があります. + +## `lunaticchat.command.*` + +### `lunaticchat.command.tell` + +- Default: `non OP` + +[`/tell`](commands/tell.md) コマンドの使用を切り替えます. + +### `lunaticchat.command.reply` + +- Default: `non OP` + +[`/reply`](commands/reply.md) コマンドの使用を切り替えます. + +### `lunaticchat.command.lc.settings` + +- Default: `non OP` + +[`/lc settings`](commands/lc/settings.md) コマンドの使用を切り替えます. + +### `lunaticchat.command.lc.status` + +- Default: `non OP` + +[`/lc status`](commands/lc/status.md) コマンドの使用を切り替えます. + +### `lunaticchat.command.jp` + +- Default: `non OP` + +[`/jp`](commands/jp.md) コマンドの使用を切り替えます. + +### `lunaticchat.command.notice` + +- Default: `non OP` + +[`/notice`](commands/notice.md) コマンドの使用を切り替えます. diff --git a/docs/src/static/direct-message/minecraft-player-sound.png b/docs/src/static/direct-message/minecraft-player-sound.png new file mode 100644 index 0000000..56059e5 Binary files /dev/null and b/docs/src/static/direct-message/minecraft-player-sound.png differ diff --git a/docs/src/static/favicon.ico b/docs/src/static/favicon.ico index 5a2affe..46c0cad 100644 Binary files a/docs/src/static/favicon.ico and b/docs/src/static/favicon.ico differ diff --git a/docs/src/static/icon.png b/docs/src/static/icon.png index a6865f7..064445a 100644 Binary files a/docs/src/static/icon.png and b/docs/src/static/icon.png differ -- cgit v1.2.1