ボスアリーナのドーム内部を「地形破壊なし」に保護するリスナー。

3Fields
1Constructors
19Methods
140Lines
Package
com.example.rankingplugin.minigame.arena
Source
minigame/arena/BossArenaProtection.java
Kind
class
Roles
イベント駆動初期化 / ブートストラップ
このクラスにも章立て解説を追加しています。 自動抽出の一覧だけでなく、下の『重点クラスの詳細解説』で読む順番・内部サブシステム・変更時の注意点まで追えます。 全クラス章立てガイドを見る

クラス説明

ボスアリーナのドーム内部を「地形破壊なし」に保護するリスナー。
- 破壊/設置/流体/火/爆発/ピストン/モブ改変 を全て阻止
- 爆発はダメージやノックバックは通し、blockList だけ除去
使い方:
  BossArenaProtection.register(this); // onEnableで一度だけ
  BossArenaProtection.addDome(world, cx, y0, cz, rDome); // ドーム生成ごと

責務と見どころ

重点クラスの詳細解説

ボスアリーナのドーム内部を「地形破壊なし」に保護するリスナー。minigame.arena パッケージの 小〜中規模クラスで、運用中の主ループを確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。

最初に追う読む順番

  1. BossArenaProtection
    依存オブジェクトと初期状態を束ね、このクラスが担当するランタイムの前提を固めます。
  2. onBreak
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。
  3. onPlace
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。
  4. onBucketEmpty
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。
  5. onBucketFill
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。
  6. onPistonExtend
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。
  7. onPistonRetract
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。
  8. onEntityExplode
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。

内部サブシステムの地図

起動・前提準備

初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。

主なメソッド
主なフィールド

代表フロー詳解

初期化と起動の流れ

  1. BossArenaProtection
  2. register

このクラスが前提状態を揃え、外部から利用可能な形まで立ち上がる流れです。新規依存の追加や起動失敗の調査はまずここから追います。

反映・保存・終了の流れ

  1. BossArenaProtection
  2. onBreak
  3. onPlace
  4. onBucketEmpty
  5. onBucketFill

結果を保持し、必要なら永続化し、最後に掃除まで行う出口です。画面更新だけ合って保存が壊れるケースや残骸が残るケースの確認に向きます。

変更時の注意点

フィールド

VisibilityTypeName役割
privatebooleanregisteredregistered の状態を保持します。
privateJavaPluginpluginプラグイン本体参照です。
privateList<Dome>DOMESDOMES の状態を保持します。

コンストラクタ / 初期化

Signature説明主要呼び出し
private BossArenaProtection()依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。主要呼び出しなし

メソッド索引

NameVisibilityKind説明
BossArenaProtectionprivateコンストラクタ依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
registerpublicメソッドonEnable で一度だけ呼ぶ
addDomepublicメソッドドームを登録(y0 から r+6 までの高さを保護)
insideprivateメソッドinside の主要処理を担当します。
onBreakpublicイベント処理イベント発生時の分岐と後続処理を担当します。
onPlacepublicイベント処理イベント発生時の分岐と後続処理を担当します。
onBucketEmptypublicイベント処理イベント発生時の分岐と後続処理を担当します。
onBucketFillpublicイベント処理イベント発生時の分岐と後続処理を担当します。
onPistonExtendpublicイベント処理イベント発生時の分岐と後続処理を担当します。
onPistonRetractpublicイベント処理イベント発生時の分岐と後続処理を担当します。
onEntityExplodepublicイベント処理イベント発生時の分岐と後続処理を担当します。
onBlockExplodepublicイベント処理イベント発生時の分岐と後続処理を担当します。
onEntityChangeBlockpublicイベント処理イベント発生時の分岐と後続処理を担当します。
onHangingBreakpublicイベント処理イベント発生時の分岐と後続処理を担当します。
onIgnitepublicイベント処理イベント発生時の分岐と後続処理を担当します。
onBurnpublicイベント処理イベント発生時の分岐と後続処理を担当します。
onSpreadpublicイベント処理イベント発生時の分岐と後続処理を担当します。
onFromTopublicイベント処理イベント発生時の分岐と後続処理を担当します。
onInventoryMovepublicイベント処理イベント発生時の分岐と後続処理を担当します。

メソッド詳細

BossArenaProtection

コンストラクタprivate
private BossArenaProtection()

依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。

引数

throws

なし

主要な呼び出し順

目立つ内部呼び出しは抽出されませんでした。

register

メソッドpublicstatic
public static void register(JavaPlugin pl)

onEnable で一度だけ呼ぶ

引数

throws

なし

主要な呼び出し順

getPluginManagerregisterEvents

addDome

メソッドpublicstatic
public static void addDome(World w, int cx, int y0, int cz, int r)

ドームを登録(y0 から r+6 までの高さを保護)

引数

throws

なし

主要な呼び出し順

maxgetMinHeightmingetMaxHeightgetUID

inside

メソッドprivatestatic
private static boolean inside(Location l)

inside の主要処理を担当します。

引数

throws

なし

主要な呼び出し順

getWorldgetUIDgetBlockYgetXgetZequals

onBreak

イベント処理public
public void onBreak(BlockBreakEvent e)

イベント発生時の分岐と後続処理を担当します。

引数

throws

なし

主要な呼び出し順

insidegetBlockgetLocationsetCancelled

onPlace

イベント処理public
public void onPlace(BlockPlaceEvent e)

イベント発生時の分岐と後続処理を担当します。

引数

throws

なし

主要な呼び出し順

insidegetBlockgetLocationsetCancelled

onBucketEmpty

イベント処理public
public void onBucketEmpty(PlayerBucketEmptyEvent e)

イベント発生時の分岐と後続処理を担当します。

引数

throws

なし

主要な呼び出し順

insidegetBlockgetLocationsetCancelled

onBucketFill

イベント処理public
public void onBucketFill(PlayerBucketFillEvent e)

イベント発生時の分岐と後続処理を担当します。

引数

throws

なし

主要な呼び出し順

insidegetBlockgetLocationsetCancelled

onPistonExtend

イベント処理public
public void onPistonExtend(BlockPistonExtendEvent e)

イベント発生時の分岐と後続処理を担当します。

引数

throws

なし

主要な呼び出し順

insidegetBlockgetLocationsetCancelledgetBlocks

onPistonRetract

イベント処理public
public void onPistonRetract(BlockPistonRetractEvent e)

イベント発生時の分岐と後続処理を担当します。

引数

throws

なし

主要な呼び出し順

insidegetBlockgetLocationsetCancelledgetBlocks

onEntityExplode

イベント処理public
public void onEntityExplode(EntityExplodeEvent e)

イベント発生時の分岐と後続処理を担当します。

引数

throws

なし

主要な呼び出し順

blockListremoveIfinsidegetLocationsetYield

onBlockExplode

イベント処理public
public void onBlockExplode(BlockExplodeEvent e)

イベント発生時の分岐と後続処理を担当します。

引数

throws

なし

主要な呼び出し順

blockListremoveIfinsidegetLocationsetYield

onEntityChangeBlock

イベント処理public
public void onEntityChangeBlock(EntityChangeBlockEvent e)

イベント発生時の分岐と後続処理を担当します。

引数

throws

なし

主要な呼び出し順

insidegetBlockgetLocationsetCancelled

onHangingBreak

イベント処理public
public void onHangingBreak(HangingBreakByEntityEvent e)

イベント発生時の分岐と後続処理を担当します。

引数

throws

なし

主要な呼び出し順

insidegetEntitygetLocationsetCancelled

onIgnite

イベント処理public
public void onIgnite(BlockIgniteEvent e)

イベント発生時の分岐と後続処理を担当します。

引数

throws

なし

主要な呼び出し順

insidegetBlockgetLocationsetCancelled

onBurn

イベント処理public
public void onBurn(BlockBurnEvent e)

イベント発生時の分岐と後続処理を担当します。

引数

throws

なし

主要な呼び出し順

insidegetBlockgetLocationsetCancelled

onSpread

イベント処理public
public void onSpread(BlockSpreadEvent e)

イベント発生時の分岐と後続処理を担当します。

引数

throws

なし

主要な呼び出し順

insidegetBlockgetLocationsetCancelled

onFromTo

イベント処理public
public void onFromTo(BlockFromToEvent e)

イベント発生時の分岐と後続処理を担当します。

引数

throws

なし

主要な呼び出し順

insidegetBlockgetLocationgetWorldgetToBlockgetXgetYgetZ

onInventoryMove

イベント処理public
public void onInventoryMove(InventoryMoveItemEvent e)

イベント発生時の分岐と後続処理を担当します。

引数

throws

なし

主要な呼び出し順

getInitiatorgetLocationinsidesetCancelled

代表的な処理フロー

  1. onFromTo フロー
    onFromTo → inside → getBlock → getLocation → getWorld → getToBlock
    イベント発生時の分岐と後続処理を担当します。
  2. onBlockExplode フロー
    onBlockExplode → blockList → removeIf → inside → getLocation → setYield
    イベント発生時の分岐と後続処理を担当します。
  3. onEntityExplode フロー
    onEntityExplode → blockList → removeIf → inside → getLocation → setYield
    イベント発生時の分岐と後続処理を担当します。
  4. onPistonExtend フロー
    onPistonExtend → inside → getBlock → getLocation → setCancelled → getBlocks
    イベント発生時の分岐と後続処理を担当します。
  5. onPistonRetract フロー
    onPistonRetract → inside → getBlock → getLocation → setCancelled → getBlocks
    イベント発生時の分岐と後続処理を担当します。

外部との接点

Web ルート

このクラス内に目立つ Web ルート定義は見つかりませんでした。

SQL / テーブル

テーブル名の抽出はありませんでした。

関連クラス

補足