1vs1 ― OP・運営ガイド¶
1vs1 の導入・地点設定・config・権限・管理コマンドをまとめます。
基本情報¶
| 項目 | 値 |
|---|---|
| プラグイン名 | 1vs1 |
| バージョン | 1.1 |
| api-version | 26.1.2 |
| メインコマンド | /pvp(エイリアス /1v1) |
| プレイヤー操作 | /pvp <join\|leave\|spectate\|lobby\|bet>(全員可)または各看板の右クリック |
| 管理コマンド | /pvp <start\|stop\|setrank\|ranklist\|setpoint…\|setsign…\|status> 等(OP / 1vs1.admin) |
| 依存プラグイン | なし |
| 設定ファイル | plugins/1vs1/config.yml、plugins/1vs1/ranks.yml |
データの保存について
プラグインは2つのファイルを使用します。config.yml には開始地点・チェスト位置が、ranks.yml には各プレイヤーのバトルパスランクが保存されます。ranks.yml はプラグイン有効化時に自動生成され、サーバー停止時に保存されます。
導入手順¶
- ビルドした
1vs1の jar ファイルをサーバーのplugins/フォルダに配置する。 - サーバーを起動すると
plugins/1vs1/フォルダとconfig.yml・ranks.ymlが自動生成される。 - 後述の「セットアップ手順」で開始地点とキットチェストを設定する。
- 設定はコマンド実行時に即保存されます(手動での再読み込みコマンドはありません)。
config.yml 設定項目¶
config.yml は初回起動時にテンプレートが生成され、各値はゲーム内コマンド(/pvp setpoint1/2・/pvp setchest1/2・/pvp setsign)の実行で書き込まれます。手動で編集する必要は基本的にありません。保存される構造は以下のとおりです。
| キー | 内容 |
|---|---|
points.point1.{world,x,y,z} |
プレイヤー1の対戦開始地点 |
points.point2.{world,x,y,z} |
プレイヤー2の対戦開始地点 |
points.chest1.{world,x,y,z} |
装備リセット用チェスト1の位置 |
points.chest2.{world,x,y,z} |
装備リセット用チェスト2の位置 |
points.spectate.{world,x,y,z} |
観戦場所(/pvp setspectate で設定) |
points.lobby.{world,x,y,z} |
ロビー(/pvp setlobby で設定) |
points.startspawn.{world,x,y,z} |
初期スポーン地点=離脱・試合終了時の戻り先(/pvp setstartspawn で設定。未設定時は試合開始前の位置に戻る) |
signs.join |
[PvP参加] 看板の位置リスト({world,x,y,z} の配列) |
signs.leave |
[PvP離脱] 看板の位置リスト(右クリックで待機キューから離脱・入場料返金) |
signs.bet |
[PvP賭け] 看板の位置リスト |
signs.start |
[PvP開始] 看板の位置リスト |
signs.spectate |
[PvP観戦] 看板の位置リスト |
signs.lobby |
[ロビー] 看板の位置リスト |
値はコマンドで設定します
座標は /pvp setpoint1・/pvp setchest1・/pvp setsign などのコマンドで設定するのが正しい手順です。コマンド実行時に config.yml へ自動保存されます。
ゲーム仕様(OP向けの内部挙動)¶
運営時に把握しておくべき、ソース実装上の固定値・挙動です。
| 項目 | 仕様 |
|---|---|
| 初期バトルパスランク | R3(未登録プレイヤーのデフォルト) |
| ランクの範囲 | R1〜R10(範囲外は自動で丸められる) |
| 入場料 | ランク × 10 エメラルド |
| 待機キュー定員 | 2人 |
| 勝利賞金(通常勝利) | 新ランク × 20 エメラルド、勝者ランク +1 |
| 勝利賞金(2ランク以上格上の勝利) | 現ランク × 12 エメラルド、ランク変化なし |
| 敗北時 | 敗者ランク −1 |
| 賭け配当倍率 | 同ランク2.0倍/格下は +0.1×ランク差/格上は −0.1×ランク差 |
| 賭け額 | GUIの固定ボタン 1/5/10/32/64 エメラルド(再賭けは上書き・前の賭け金は返却) |
| キットチェストのプリセット | 鉄一式(兜・胸・脚・靴)、盾、鉄の剣、焼き肉×64 |
| 看板の状態表示 | 2行目に「待機: n/2」「開始可能/人数不足」「対戦待ち/対戦中」等を自動表示・自動更新 |
プリセットアイテムは固定です
試合終了時にキットチェストへ補充される装備セットはソース内に固定されており、config.yml では変更できません。
セットアップ手順¶
専用のPvPアリーナを用意し、OP権限で以下のコマンドを その場に立って/チェストを見て 実行します。
看板の登録は /pvp setsign <種別> で行います。視線の先5ブロック以内の看板 を見ながら、登録したい種別のコマンドを実行してください。
setpoint1・setpoint2・setspectate・setlobbyは コマンド実行者の現在位置 を保存します。プレイヤーを飛ばしたい場所に立って実行してください。setchest1・setchest2は 視線の先5ブロック以内のチェスト を対象にします。チェストを見ながら実行してください。チェスト以外を見ていると失敗します。setsign <type>は 視線の先5ブロック以内の看板 を対象にします。登録すると看板に1行目のタグ([PvP参加]等)・2行目の状態表示・3行目の「右クリック」が自動で書き込まれ、以降プレイヤーが右クリックで操作できるようになります。同じ看板を別タイプで登録し直すと、旧登録は自動で外れます。- 開始地点(point1・point2)が未設定だと
/pvp startで試合を開始できません。 - 観戦場所・ロビーが未設定の場合、対応する看板を押したプレイヤーに「未設定」のエラーメッセージが表示されます。
- キットチェストは試合終了時にプリセット装備でリセットされます。未設定の場合はリセットがスキップされ、サーバーログに警告が出ます。
推奨セットアップ
開始地点2か所はアリーナ内の対角などに、キットチェスト2か所は各選手がすぐ装備を取れる位置に設置すると運営がスムーズです。[PvP参加]・[PvP賭け]・[PvP開始]・[PvP観戦]・[ロビー] の5種類の看板はロビーなどプレイヤーが集まる場所にまとめて設置すると遊びやすくなります。
管理コマンド¶
/pvp(エイリアス /1v1)のうち、参加系(join/leave/spectate/lobby/bet)は全員、それ以外の管理系は OP(1vs1.admin)専用 です。
プレイヤー用(全員可)¶
| コマンド | 説明 |
|---|---|
/pvp join |
待機キューに参加する([PvP参加] 看板と同じ) |
/pvp leave |
待機キューから離脱する(入場料返金) |
/pvp bet |
賭けGUIを開く |
/pvp spectate |
観戦場所へ移動する |
/pvp lobby |
ロビーへ移動する |
管理用(1vs1.admin)¶
| コマンド | 説明 |
|---|---|
/pvp start |
待機キューが2人そろっているとき試合を開始する |
/pvp stop |
進行中の試合を強制終了し、選手を元の場所へ戻す(賭け金は払い戻し) |
/pvp setrank <名前> <ランク> |
プレイヤーのバトルパスランクを設定する(1〜10に丸められる) |
/pvp ranklist |
全プレイヤーのバトルパスランク一覧を表示する |
/pvp setpoint1 / setpoint2 |
対戦開始地点を設定する |
/pvp setchest1 / setchest2 |
装備リセット用チェストを設定する |
/pvp setspectate / setlobby |
観戦場所/ロビーを設定する(実行時の立ち位置) |
/pvp setstartspawn |
初期スポーン(離脱・試合終了時の戻り先)を設定する(実行時の立ち位置) |
/pvp setsign <join\|leave\|bet\|start\|spectate\|lobby> |
視線の先の看板を指定種別のPvP看板として登録する(各サブコマンドは上の「看板の登録」を参照) |
/pvp removesign |
視線の先の看板の登録を解除する |
/pvp status |
現在の設定・ゲーム状態を確認する |
試合の進行は看板またはOPが手動で行います
キューが2人そろっても試合は自動では始まりません。[PvP開始] 看板(/pvp setsign start で登録)を右クリックするか、OPが /pvp start を実行する必要があります。異常時は /pvp stop で強制終了でき、賭け金は全額払い戻されます。なお開始看板は /pvp setstart ではなく /pvp setsign start で登録します。
権限ノード¶
plugin.yml で定義されている権限ノードは1つだけです。
| 権限 | デフォルト | 説明 |
|---|---|---|
1vs1.admin |
op |
管理系サブコマンド(start/stop/setrank/ranklist/setpoint・setchest・setsign・removesign・status 等)の実行権限。OPに自動付与されます。 |
参加系コマンドは全員が使えます
/pvp join・leave・spectate・lobby・bet は 権限不要で全プレイヤーが実行可能 です(看板の右クリックと同じ動作)。看板を設置していれば看板からでも、コマンドからでも参加できます。1vs1.admin が必要なのは会場設定・試合進行などの管理系コマンドだけです。
トラブルシューティング¶
/pvp start で試合が始まらない
主な原因は2つです。1つ目は待機キューの人数不足(最低2人必要)。[PvP参加] 看板の2行目に「待機: 0/2」「待機: 1/2」「待機: 2/2」と表示されるので、看板で確認してください。2つ目は開始地点の未設定です。/pvp setpoint1 と /pvp setpoint2 を実行済みか確認してください。地点未設定の場合、キューのプレイヤーはキューに戻されます。
試合後にチェストがリセットされない
キットチェストが未設定か、設定した位置のブロックがチェストでなくなっている可能性があります。/pvp setchest1・/pvp setchest2 を実行し直してください。未設定・非チェストの場合はサーバーログに警告([1vs1] キットチェスト... が設定されていません)が出ます。
/pvp setchest1 が「チェストを置いてください」と出る
視線の先5ブロック以内にチェストが必要です。チェストをまっすぐ見た状態でコマンドを実行してください。距離が遠い・別のブロックを見ているときは失敗します。
プレイヤーのランクを直したい
/pvp setrank <プレイヤー名> <ランク> で個別に設定できます。指定値は自動的に1〜10の範囲に丸められます。対象プレイヤーはオンラインである必要があります。
ランクデータが消えた/引き継がれない
ランクは plugins/1vs1/ranks.yml に保存され、サーバー停止時に書き込まれます。サーバーがクラッシュで異常終了すると直近の変更が保存されない場合があります。ファイルを削除すると全プレイヤーのランクが初期化(R3扱い)されます。