CannonRTP 保護プラグイン統合
CannonRTP は、候補着地地点を使用のためにキューに入れる前に、複数の保護プラグインに対して検証することができます。
サポート対象の統合
現在のソフト依存関係は以下のとおりです:
- WorldGuard
- Towny
- Lands
- GriefPrevention
- HuskTowns
- HuskClaims
これらは plugin.yml で softdepend として宣言されています。CannonRTP はこれらのいずれもインストールされていなくても動作します。存在しないプラグインは静かにスキップされます。
保護チェックの仕組み
- アダプターは固定された順序でチェックされます: WorldGuard、Towny、Lands、GriefPrevention、HuskTowns、HuskClaims。
- 保護アダプターは、(a)
protection.ymlでenabledトグルがtrueであり、かつ (b) プラグインがサーバー上に存在しロードされている場合にのみ登録されます。 - 地点をブロックする最初のアダプターでチェックが停止し、それが報告される理由になります。
- 保護 API がエラーをスローした場合、CannonRTP はデフォルトでその着地をブロックします(フェイルクローズド動作)。これは
landing.ymlのfailOpenOnProtectionErrorsで制御されます。
API 失敗時のグローバル安全トグルは以下のとおりです:
failOpenOnProtectionErrors(landing.yml内)
デフォルト: false
true に設定すると、保護プラグインを安全にクエリできない場合でも、CannonRTP は着地を続行させます。
/wc probe コマンド
管理者は任意の場所に立って /wc probe を実行することで、その地点が有効化されたすべての保護チェックを通過するかをテストできます。結果には、地点をブロックしたプラグインと理由、または地点が有効であることの確認が報告されます。
設定ファイル
すべての保護プラグインのトグルは plugins/CannonRTP/protection.yml にあります。キーはトップレベルです(例: protection.worldGuard.enabled ではなく worldGuard.enabled)。
プラグインごとの動作
WorldGuard
設定キー:
worldGuard.enabledworldGuard.allowGlobalRegionOnlyworldGuard.allowBuildAllowedRegionsworldGuard.allowPassthroughRegions
デフォルト動作:
- デフォルトで有効
__global__のみでカバーされる地点はデフォルトで許可build=ALLOWのリージョンはデフォルトで許可passthrough=ALLOWのリージョンはデフォルトで許可- その他の一致する保護リージョンはブロック
Towny
設定キー:
towny.enabledtowny.allowWildernesstowny.allowNationZonestowny.allowClaimedTownBlocks
デフォルト動作:
- デフォルトで有効
- 未開拓地は許可
- 国家ゾーンはブロック
- 保有された町のブロックはブロック
Lands
設定キー:
lands.enabledlands.allowUnclaimedAreaslands.allowClaimedAreas
デフォルト動作:
- デフォルトで有効
- 未保有領域は許可
- 保有領域はブロック
GriefPrevention
設定キー:
griefPrevention.enabledgriefPrevention.allowWildernessgriefPrevention.allowAdminClaimsgriefPrevention.allowPlayerClaims
デフォルト動作:
- デフォルトで有効
- 未開拓地は許可
- 管理者クレームはブロック
- プレイヤークレームはブロック
HuskTowns
設定キー:
huskTowns.enabledhuskTowns.allowWildernesshuskTowns.allowAdminClaimshuskTowns.allowRegularClaimshuskTowns.allowFarmClaimshuskTowns.allowPlotClaims
デフォルト動作:
- デフォルトで有効
- 未開拓地は許可
- 管理者クレームはブロック
- 通常の町クレームはブロック
- 農場クレームはブロック
- 区画クレームはブロック
HuskClaims
設定キー:
huskClaims.enabledhuskClaims.allowWildernesshuskClaims.allowAdminClaimshuskClaims.allowPlayerClaims
デフォルト動作:
- デフォルトで有効
- 未開拓地は許可
- 管理者クレームはブロック
- プレイヤークレームはブロック
保護以外の検証も適用されます
保護プラグイン統合は着地検証の一部にすぎません。地点は以下の理由でも拒否される可能性があります:
- ワールドボーダー外である
- 安全な地表が存在しない
- 足元または頭部空間がブロックされている
- 地形が設定された危険マテリアルリストに一致する
CannonRTPLocationValidationEventリスナーが拒否する(API イベント を参照)
失敗の報告
キャノンが exhausted になる(searchTimeoutAttempts を使い切る前に十分な有効地点が見つからなかった)場合、ステータス出力およびプレイヤー向けメッセージには、よくある拒否理由の内訳が含まれます。拒否のほとんどが保護された土地から発生した場合は、それが報告されます。これにより、管理者はサーバーに対して保護設定が制限的すぎるかどうかを診断しやすくなります。