ProtocolLib が入っている時だけ使用する、しもべ由来エンティティサウンドの遮断ブリッジ。

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

クラス説明

ProtocolLib が入っている時だけ使用する、しもべ由来エンティティサウンドの遮断ブリッジ。
Paper の silent / death sound 制御で取り切れないケースを packet 層で塞ぐ。

責務と見どころ

重点クラスの詳細解説

ProtocolLib が入っている時だけ使用する、しもべ由来エンティティサウンドの遮断ブリッジ。level パッケージの 小規模クラスで、責務境界の要点を確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。

最初に追う読む順番

  1. LevelServantProtocolSoundMuteBridge
    依存オブジェクトと初期状態を束ね、このクラスが担当するランタイムの前提を固めます。
  2. register
    定期処理や公開 API の起動地点で、外部から見える挙動がここから立ち上がります。
  3. unregister
    unregister の主要処理を担当します。
  4. resolveSoundPacketTypes
    resolveSoundPacketTypes の主要処理を担当します。
  5. addIfPresent
    addIfPresent の主要処理を担当します。
  6. resolveSourceEntityId
    resolveSourceEntityId の主要処理を担当します。

内部サブシステムの地図

起動・前提準備

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

主なフィールド

代表フロー詳解

初期化と起動の流れ

  1. LevelServantProtocolSoundMuteBridge
  2. register

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

変更時の注意点

フィールド

VisibilityTypeName役割
privatePluginpluginプラグイン本体参照です。
privateLevelServantServiceownerowner の状態を保持します。
privatePacketAdapteradapteradapter の状態を保持します。

コンストラクタ / 初期化

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

メソッド索引

NameVisibilityKind説明
LevelServantProtocolSoundMuteBridgepublicコンストラクタ依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
registerpublicメソッド初期化と各種登録を行い、機能を有効化します。
unregisterpublicメソッドunregister の主要処理を担当します。
resolveSoundPacketTypesprivateメソッドresolveSoundPacketTypes の主要処理を担当します。
addIfPresentprivateメソッドaddIfPresent の主要処理を担当します。
resolveSourceEntityIdprivateメソッドresolveSourceEntityId の主要処理を担当します。

メソッド詳細

LevelServantProtocolSoundMuteBridge

コンストラクタpublic
public LevelServantProtocolSoundMuteBridge(Plugin plugin, LevelServantService owner)

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

引数

throws

なし

主要な呼び出し順

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

register

メソッドpublic
public boolean register()

初期化と各種登録を行い、機能を有効化します。

引数

throws

なし

主要な呼び出し順

resolveSoundPacketTypesgetProtocolManageronPacketSendingisPlayerTemporarygetPacketresolveSourceEntityIdisTrackedServantEntityIdsetCancelled

unregister

メソッドpublic
public void unregister()

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

引数

throws

なし

主要な呼び出し順

getProtocolManagerremovePacketListener

resolveSoundPacketTypes

メソッドprivatestatic
private static PacketType[] resolveSoundPacketTypes()

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

引数

throws

なし

主要な呼び出し順

addIfPresenttoArray

addIfPresent

メソッドprivatestatic
private static void addIfPresent(List<PacketType> out, String fieldName)

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

引数

throws

なし

主要な呼び出し順

getFieldcontains

resolveSourceEntityId

メソッドprivate
private Integer resolveSourceEntityId(PacketContainer packet)

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

引数

throws

なし

主要な呼び出し順

getIntegerssizereadgetHandlegetClassgetMethodinvokeintValue

代表的な処理フロー

  1. register フロー
    register → resolveSoundPacketTypes → getProtocolManager → onPacketSending → isPlayerTemporary → getPacket
    初期化と各種登録を行い、機能を有効化します。
  2. resolveSourceEntityId フロー
    resolveSourceEntityId → getIntegers → size → read → getHandle → getClass
    resolveSourceEntityId の主要処理を担当します。
  3. addIfPresent フロー
    addIfPresent → getField → contains
    addIfPresent の主要処理を担当します。
  4. resolveSoundPacketTypes フロー
    resolveSoundPacketTypes → addIfPresent → toArray
    resolveSoundPacketTypes の主要処理を担当します。
  5. unregister フロー
    unregister → getProtocolManager → removePacketListener
    unregister の主要処理を担当します。

外部との接点

Web ルート

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

SQL / テーブル

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

関連クラス

補足