CannonRTP(WorldCannon)
CannonRTPは、Minecraftサーバー向けのマルチキャノン型ランダムテレポートプラグインです。プロジェクト内部ではWorldCannonという名前ですが、BukkitではCannonRTPとして登録され、プレイヤーや管理者が見る名前もこちらです。
重要な命名の詳細:
- プラグイン名:
CannonRTP - ルートコマンド:
/cannonrtp - エイリアス:
/crtp,/wc - 権限:
cannonrtp.admin,cannonrtp.use - 設定フォルダ:
plugins/CannonRTP/
機能について
CannonRTPは、単一の固定ランチャーではなく、マルチキャノン型ランダム着地システムです。
各キャノンは以下が可能です:
- トリガー半径に入ったプレイヤーを検出
- 設定されたターゲットワールドで安全な着地地点を事前読み込みし、キューに維持
- 危険な地形、ブロックされた空間、保護された土地を拒否
- オプションでキャノンごとの追加権限を要求
- ウォームアップ、座標プレビュー、ブースト、テレポート、低速落下シーケンスでプレイヤーを発射
- オプションでキャノン位置にFreeMinecraftModelsのカスタムモデルを表示
発射フロー
プレイヤーが条件を満たすキャノンのトリガー半径に入ると:
- CannonRTPが
cannonrtp.useを確認します。 - キャノンのオプションの
requiredPermissionを確認します。 - キャノンが有効で、有効な設定を持ち、事前読み込み済みの着地地点があることを確認します。
- そのキャノンのキューから事前読み込み済みの安全な着地地点を1つ消費します。
- 発射ウォームアップが開始:プレイヤーは浮遊効果を受け、ランダムな座標プレビュー付きのタイトル/サブタイトルカウントダウンを見ます。
- ウォームアップが終わると、発射音が再生され、垂直ブーストが適用され、プレイヤーは目的地の50ブロック上空にテレポートされ、低速落下が適用されます。
- プレイヤーが地面に着地すると、低速落下効果は早期に除去されます。
キャノンにcustomModelが設定されており、FreeMinecraftModelsのfireモデルが存在する場合、ウォームアップ中にプレイヤーがキャノン位置に座る代替発射アニメーションが使用されます。
着地安全ルール
地点が事前読み込みキューに受け入れられる前に、現在のコードは以下を確認します:
- ターゲットワールドがロードされていること
- 検索中心が有効であること
- 地点がワールドボーダー内にあること
- 最も高い安全な表面が存在すること(固体、非液体、非空気)
- 足元と頭上の空間が通行可能であること
- 着地表面が設定済みの危険な地面マテリアルリストに含まれていないこと
- 足元と頭上のブロックが設定済みの危険な身体マテリアルリストに含まれていないこと
- すべての有効な保護プラグイン連携がその地点を許可していること
キャノンの状態
各キャノンには/wc statusで確認できる内部状態があります:
| 状態 | 意味 |
|---|---|
| Charging | 最初の安全な地点バッチをまだ事前読み込み中 |
| Ready | プレイヤーを発射するための十分な事前読み込み地点がある |
| Maintaining | 準備完了だが、消費された地点をまだ補充中 |
| Exhausted | 十分な有効地点を見つけられずタイムアウト |
| Invalid | 設定エラー(例:ターゲットワールドが未ロード) |
キャノンは、少なくともchargedLocationsPerCannon個の有効な目的地を保存すると発射準備完了になります。
実行要件
- Minecraft API:
1.21 - Java:
21 - 推奨サーバーソフトウェア:Paperまたは現行の互換フォーク
- オプションの依存関係:FreeMinecraftModels(カスタムキャノンモデル用)