PowerWash ― OP・運営ガイド¶
PowerWash(協力洗浄ミニゲーム)の導入・セットアップ・config をまとめます。
実装状況
参加・開始のプレイループ(join/leave/start)・制限時間・ロビー・看板・ソロ(清掃タイムアタック)とランキング・ゲーム強制停止(stop)に対応しています。加えてステージ作成・セル生成(scan)・汚れ設定・設定ツールも利用できます。shop/hint/お金・アップグレード・洗剤・ノズル・OP用設定ツールなどは 今後のフェーズ で追加予定で、config にキーだけ先行して用意されています(現時点では読み込まれません)。
基本情報¶
| 項目 | 値 |
|---|---|
| プラグイン名 | PowerWash |
| バージョン | 0.1.0 |
| メインコマンド | /pw(エイリアス /powerwash) |
| api-version | 1.21 |
| 作者 | へんりー |
| 設定ファイル | plugins/PowerWash/config.yml |
| 権限ノード | powerwash.admin(既定OP) |
ロビー・看板の設定(Phase 2)¶
プレイループ用に、共通ロビーと参加・離脱・開始の看板を設定します。
/pw setsign join
/pw setsign leave
/pw setsign solo
/pw setsign start <識別子>
看板は複数設置できます
参加(sign)・離脱(leave-sign)・ソロ(solo-sign)看板は複数設置でき、開始(start-sign)看板は 識別子ごと に複数設置できます。座標は config に自動保存されます。看板は視線の先(6ブロック以内)のものが対象です。
セットアップ手順(ステージ作成)¶
ステージは「領域を選択 → 作成 → スキャンでセル生成 → 汚れ設定」の流れで用意します。
セルとスキャン
scan は、フィールド範囲内の表面ブロックを 1面あたり resolution^2 個のセル に分割して生成します。生成後は BlockDisplay で表示されます。1ステージあたりのセル数は max-cells(既定5000)で制限され、超過するスキャンは実行されず警告のみ表示されます。resolution を変更しても、既存のセルには遡及しません(再スキャンが必要)。
汚れの種類(/pw dirt で指定)¶
/pw scan は元ブロックの種類から汚れ種類を自動割り当てします。/pw dirt <識別子> <種類> で選択範囲のセルを任意の種類に上書きできます。種類と落としにくさ(HP倍率)は dirt-types.yml で定義されています。
| 種類(指定名) | 表示名 | HP倍率 | 必要洗浄力Lv | 自動割り当ての例 |
|---|---|---|---|---|
MUD |
泥(既定) | 1.0 | 0 | 土・粗い土・農地・ポドゾル |
MOSS |
苔・サビ | 2.0 | 0 | 苔ブロック・苔石・酸化した銅系 |
OIL |
油汚れ | 4.0 | 0 | 黒色コンクリート・黒曜岩系・ネザーラック・石炭ブロック |
STUBBORN |
頑固な汚れ | 5.0 | 3 | 黒曜石・古代の瓦礫・灰色コンクリート |
必要洗浄力レベル
STUBBORN(頑固な汚れ)は必要洗浄力レベル3が設定されています。洗浄力レベルを上げる強化(アップグレード)は今後のフェーズで追加予定のため、現時点で高難度セルを配置する場合はご注意ください。自動割り当てで STUBBORN になるブロック(黒曜石など)も同様です。
ソロ(清掃タイムアタック)の運営¶
ソロは1人用のタイムアタックモードです。プレイヤーはソロ看板や /pw solo で開始し、記録とランキングが solo 設定とステージごとの記録ファイルに残ります。
ソロの挙動
同じステージは同時に1人までしか使えません(通常ゲーム進行中・他プレイヤーのソロ中は空くまで待機)。結果の全体通知・制限時間・カウントダウン・ランキング表示人数は config の solo.* で調整できます。solo.enabled: false でソロを無効化できます。
config.yml 設定項目¶
有効なキー(Phase 1〜2)¶
| キー | 既定値 | 説明 |
|---|---|---|
resolution |
2 | 1 / 2 / 4。1面あたりの分割数(resolution^2)。scan後の変更は既存セルに遡及しない |
max-cells |
5000 | 1ステージあたりのセル上限。超過するscanは実行せず警告 |
skip-covered-faces |
true | scan時、葉・ガラス・カーペット・ハーフブロック等で完全に覆われた面(見えない/洗えない汚れ)のセルを作らない |
lobby-spawn |
null | 共通ロビー地点(/pw setlobby) |
default-spawn |
null | 初期スポーン(離脱時の戻り先。/pw setstartspawn) |
sign / leave-sign / solo-sign / start-sign |
リスト | 参加/離脱/ソロ/開始看板の座標(/pw setsign で自動保存) |
session.time-options-minutes |
[5,10,15,20,30] |
時間選択GUIに出す分数の候補(「無制限」は別ボタンで常設) |
session.max-minutes |
180 | /pw start <識別子> <分> で指定できる分の上限(0=上限なし) |
solo.enabled |
true | ソロ(清掃タイムアタック)の有効/無効 |
solo.menu-delay |
3 | ソロ終了後にソロメニューを開き直すまでの秒数 |
solo.countdown-seconds |
3 | 開始前カウントダウンの秒数(計測はカウントダウン明けから) |
solo.time-limit-minutes |
30 | ソロの制限時間(分・0で無制限/時間切れは記録なし) |
solo.broadcast |
new-top | 結果の全体通知: none / new-top(ステージ1位更新時)/ all(クリアのたび) |
solo.ranking-size |
10 | /pw ranking に表示する人数 |
washer.material |
IRON_HOE | 高圧洗浄機のアイテム |
washer.custom-model-data |
1001 | 高圧洗浄機のカスタムモデルデータ |
washer.base-power |
1.0 | 洗浄の基本出力 |
washer.base-radius |
0.5 | 水流の基本半径 |
washer.base-range |
5.0 | 水流の基本射程 |
performance.particle-tick-interval |
3 | パーティクルの描画間隔(tick) |
performance.display-spawn-per-tick |
200 | scan後にBlockDisplayを生成する1tickあたりの上限 |
将来のフェーズ用(現時点では未読込)¶
washer.nozzle(ノズル:jet/fan)・detergent(洗剤)・reward(報酬)・upgrade(出力/半径/射程のアップグレード)・hint(ヒント)・admin-tool(OP用設定ツール)は、将来のフェーズで使用するために キー名だけ先行して確保 されています。現時点では読み込まれません。
管理コマンド¶
| コマンド | 説明 |
|---|---|
/pw wand |
領域選択斧を取得 |
/pw create <識別子> |
ステージを作成 |
/pw setfield <識別子> <1\|2> |
フィールド範囲を設定 |
/pw setspawn <識別子> |
開始位置を設定 |
/pw scan <識別子> |
汚れセルを自動生成 |
/pw dirt <識別子> <種類> |
選択範囲の汚れ種類を上書き |
/pw removecells <識別子> [面] |
選択範囲の汚れセルを削除(面: up/down/north/south/east/west/進行中は不可) |
/pw setlobby / setstartspawn |
共通ロビー/初期スポーンを設定 |
/pw setsign <join\|leave\|solo\|start <識別子>\|delete> |
看板を設定/解除 |
/pw stop [識別子] |
進行中のゲーム(通常・ソロ)を強制停止(在籍は維持) |
/pw solo reset <ステージ> [プレイヤー] |
ソロ記録をリセット |
/pw testwasher |
テスト用の高圧洗浄機を入手 |
/pw status [識別子] |
設定・洗浄状況を確認(全員可) |
/pw reload |
設定を再読み込み |
/pw forceunlock <プレイヤー> [confirm] |
参加中フラグの強制解除・退避データの復元(コンソール可) |
プレイヤー用(全員可)は /pw join・/pw leave・/pw start <識別子> [分]・/pw solo [ステージ\|retire]・/pw ranking [ステージ]・/pw status・/pw help です。
権限ノード¶
| 権限ノード | 既定 | 用途 |
|---|---|---|
powerwash.admin |
OP | セットアップ・運営系(wand/create/setfield/setspawn/scan/dirt/removecells/setlobby/setstartspawn/setsign/stop/solo reset/reload/testwasher/forceunlock) |
/pw join・/pw leave・/pw start・/pw solo・/pw ranking・/pw status・/pw help は権限不要で全員が使えます。
全ゲーム共通の改修(2026-09)¶
全ミニゲーム共通の改修が入り、本ゲームにも適用されています。
- 名前表示 … 参加中はチャット名・Tabリスト名・頭上の名札が「【ゲーム名】名前」になり、離脱で元に戻ります(表示名は config の
display-name)。 - 参加/離脱の全体告知 … 参加・離脱時にサーバー全体へ「【ゲーム名】名前 が参加しました (N人)」等を通知します。
- 同時参加は1ゲームまで … 他ゲームに参加中は参加が拒否されます(「【○○】に参加中です」)。異常で参加ロックが残った場合はOPが
/<コマンド> forceunlock <プレイヤー>で解除できます。 - 退避データのファイル保存 … ロビー入場時に退避した所持品を
plugins/<プラグイン>/vault/<UUID>.ymlに保存し、サーバークラッシュ後の再ログインでも復元 します(退避・復元は各1回、試合終了時は復元しません)。PowerWash は旧players.ymlを起動時に vault へ移行します(旧ファイルはplayers.yml.migratedへ改名)。
追加された config キー¶
| キー | 説明 |
|---|---|
display-name |
ゲーム表示名(「【…】」の中身) |
messages.join-broadcast |
参加の全体告知文 |
messages.leave-broadcast |
離脱の全体告知文 |
messages.already-in-other-game |
他ゲーム参加中に拒否したときの文言 |
config は自動で追記されるようになりました
起動時(reload 対応プラグインは reload 時も)に、config.yml(PowerWash は messages.yml も)へ不足している項目を既定値+コメント付きで自動追記します(既存の値は変更しません/更新時は .bak を保存)。座標・看板・会場・ステージなどのデータ領域は補完対象外です。