ピースバナー
ピースバナーは、設定可能なチャンク半径内で通常の自然スポーンからエリートへの変換を抑制するクラフト可能なアイテムです。suppressEvents: true では、EliteMobsが処理するアクションイベントとタイマーイベントのスポーン試行も抑制します。任意のカスタムボスやリージョナルボスのスポーンをすべて防ぐものではなく、既存のエリートを削除したり、モブ全般から保護したりするものでもありません。
仕組み
- クラフト: プレイヤーはデフォルトのレシピ(または管理者が設定したカスタムレシピ)を使用してピースバナーをクラフトします。デフォルトのレシピでは、任意の色のバナーを骨で囲みます。
- 設置: 機能が有効なら、ピースバナーの設置時に保護が即座に登録されます。既定の半径4は、そのチャンクを中心とした9×9チャンクの正方形で、高さを問いません。ブロックから測った円形ではありません。
- 撤去: ピースバナーのブロックを破壊すると、保護ゾーンが解除され、そのエリアでエリートモブが再びスポーンするようになります。
- 永続性: 設置されたピースバナーはディスクに保存され、サーバー再起動後も維持されます。ピースバナーを含むチャンクがロードされると、プラグインはバナーブロックがまだ存在するか検証し、他の手段で破壊されている場合は保護を自動的に解除します。
デフォルトのクラフトレシピ
BBB
BWB
BBB
- B = 骨
- W = 任意のバナー(16色すべてのバナーが使用可能)
このレシピにより、カスタムパターン、表示名、ピースバナーであることを示す説明文が付いた青いバナーが作成されます。
設定
ピースバナーのすべての設定は PeaceBanner.yml にあります。完全なリファレンスは設定一覧ページを参照してください。
| 設定 | デフォルト | 説明 |
|---|---|---|
enabled | true | ピースバナー機能を有効にするかどうか |
craftable | true | プレイヤーがピースバナーをクラフトできるかどうか |
chunkRadius | 4 | 設置されたバナーの周囲でエリートモブが抑制される半径(チャンク単位) |
suppressEvents | true | 設置されたバナーがEliteMobsイベント(アクションイベントおよびタイマーイベント)も抑制するかどうか |
recipeShape | BBB / BWB / BBB | クラフトグリッドのレイアウト |
recipeIngredients | B: BONE, W: ANY_BANNER | レシピ文字と素材の対応 |
itemName | &aPeace Banner | ピースバナーアイテムの表示名 |
itemLore | (設定を参照) | アイテムに表示される説明文 |
placedMessage | (設定を参照) | バナーが設置されたときに送信されるメッセージ |
removedMessage | (設定を参照) | バナーが破壊されたときに送信されるメッセージ |
chunkRadius は各バナーの設置時に取得され、そのバナーとともに保存されます。設定を変更しても、再起動を含め既存バナーの範囲は変わりません。新しい半径を使用するには設置し直してください。既定のアイテム説明にある 4 は固定の文字で、半径に合わせて更新されません。一方、placedMessage の $radius は置換されます。
enabled: false は生成抑制、設置・破壊・読み込みの処理、クラフトレシピを無効にします。保存済みデータの削除や、管理者の付与コマンドの禁止は行いません。craftable: false はレシピだけを無効にします。
管理者コマンド
| コマンド | 権限 | 説明 |
|---|---|---|
/em peacebanner give <player> | elitemobs.peacebanner.admin | オンラインのプレイヤーにピースバナーを付与する。インベントリが満杯ならその場にドロップする |
/em peacebanner list | elitemobs.peacebanner.admin | 設置されたすべてのピースバナーの座標とチャンク半径を一覧表示する |
重複するバナー
複数のピースバナーを保護ゾーンが重なるように設置できます。システムは参照カウントを使用するため、少なくとも1つのバナーがカバーしている限り、チャンクは保護され続けます。1つのバナーを撤去しても、他のバナーがカバーしていないチャンクのみが保護解除されます。
技術的な詳細
- 新しく設置するピースバナーは、外見ではなくアイテムの永続データコンテナ(PDC)タグで識別されます。未登録の場所に通常のバナーを置いても保護は作成されません。
- バナーデータは
plugins/EliteMobs/data/peace-banners.ymlに保存されます。 - チャンク読み込み時の検証は、保存場所に何らかのバナーブロックがあるかだけを確認します。ピースバナーのタグや模様は再確認しません。爆発やワールド編集などでバナーではなくなった場合、保護は外部変更の直後ではなく、この検証時に解除されます。
- 保存された記録はワールドの UUID に属します。EliteMobs の初期化時に読み込まれていないワールドの記録は、そのワールドが読み込まれるまで無効のままで、読み込まれると保護が自動的に有効になります。同じ名前を再利用した別のワールドには記録は引き継がれず、代わりに EliteMobs が警告をログに記録します。