起動・前提準備
初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。
Citizens/Sentinel なしで、見た目だけをプレイヤーNPC化する NMS/packet ブリッジ。
com.example.rankingplugin.levellevel/LevelServantPlayerNpcBridge.javaclassCitizens/Sentinel なしで、見た目だけをプレイヤーNPC化する NMS/packet ブリッジ。 実戦AI/当たり判定は別の内部Mobが持ち、このクラスは「完全プレイヤー見た目」を配信する。
Citizens/Sentinel なしで、見た目だけをプレイヤーNPC化する NMS/packet ブリッジ。level パッケージの中でも 835 行規模の中核クラスで、スケジューラが一か所に集まっています。中規模クラス群の中では変更影響が広く、章立てで読む価値が高いため重点解説へ追加しています。
LevelServantPlayerNpcBridgespawnspawnArmorStandFallbackbuildFallbackHeadbuildNpcNamesyncapplyArmorStandEquipmentupdateEquipmentupdateArmorStandFallback初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。
外部から呼ばれる公開メソッドや、対象プレイヤー・対象データ・対象ワールドを引き当てる経路です。
メモリ状態と保存状態を揃え、結果を次の呼び出しや画面表示へ繋ぐ部分です。
Bukkit イベントや内部イベントを受けたあと、どの状態を更新するかをまとめています。
このクラスが前提状態を揃え、外部から利用可能な形まで立ち上がる流れです。新規依存の追加や起動失敗の調査はまずここから追います。
イベント受理、判定、状態更新、通知までの主経路です。体感不具合や想定外の分岐はこの流れのどこで止まるかを見ると切り分けやすいです。
結果を保持し、必要なら永続化し、最後に掃除まで行う出口です。画面更新だけ合って保存が壊れるケースや残骸が残るケースの確認に向きます。
このクラス内で直接見つかる主な Web ルート/項目名です。
| Signature | 説明 | 主要呼び出し |
|---|---|---|
public LevelServantPlayerNpcBridge(Plugin plugin) | 依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。 | 主要呼び出しなし |
| Name | Visibility | Kind | 説明 |
|---|---|---|---|
| LevelServantPlayerNpcBridge | public | コンストラクタ | 依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。 |
| spawn | public | メソッド | spawn の主要処理を担当します。 |
| destroy | public | メソッド | destroy の主要処理を担当します。 |
| sync | public | メソッド | sync の主要処理を担当します。 |
| swingMainArm | public | メソッド | swingMainArm の主要処理を担当します。 |
| playHurtReaction | public | メソッド | playHurtReaction の主要処理を担当します。 |
| showTo | public | メソッド | showTo の主要処理を担当します。 |
| updateEquipment | public | メソッド | 状態を永続化または更新し、最新状態へ反映します。 |
| extractTextureProperty | public | メソッド | extractTextureProperty の主要処理を担当します。 |
| spawnArmorStandFallback | private | メソッド | spawnArmorStandFallback の主要処理を担当します。 |
| updateArmorStandFallback | private | メソッド | 状態を永続化または更新し、最新状態へ反映します。 |
| clamp | private | メソッド | clamp の主要処理を担当します。 |
| applyArmorStandEquipment | private | メソッド | applyArmorStandEquipment の主要処理を担当します。 |
| buildFallbackHead | private | メソッド | 表示用または出力用のデータを組み立てます。 |
| cloneOrNull | private | メソッド | cloneOrNull の主要処理を担当します。 |
| showToAll | private | メソッド | showToAll の主要処理を担当します。 |
| access | private | メソッド | access の主要処理を担当します。 |
| buildNpcName | private | メソッド | 表示用または出力用のデータを組み立てます。 |
public LevelServantPlayerNpcBridge(Plugin plugin)依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
Plugin pluginなし
public VisualHandle spawn(World world, Location loc, UUID ownerId, String ownerName, TextureProperty texture, EquipmentSnapshot equipment)spawn の主要処理を担当します。
World worldLocation locUUID ownerIdString ownerNameTextureProperty textureEquipmentSnapshot equipmentなし
public void destroy(VisualHandle handle)destroy の主要処理を担当します。
VisualHandle handleなし
public boolean sync(VisualHandle handle, Location to)sync の主要処理を担当します。
VisualHandle handleLocation toなし
public boolean swingMainArm(VisualHandle handle)swingMainArm の主要処理を担当します。
VisualHandle handleなし
public boolean playHurtReaction(VisualHandle handle, float yaw)playHurtReaction の主要処理を担当します。
VisualHandle handlefloat yawなし
public void showTo(Player viewer, VisualHandle handle, float yaw)showTo の主要処理を担当します。
Player viewerVisualHandle handlefloat yawなし
public boolean updateEquipment(VisualHandle handle, EquipmentSnapshot equipment)状態を永続化または更新し、最新状態へ反映します。
VisualHandle handleEquipmentSnapshot equipmentなし
public TextureProperty extractTextureProperty(Object profileLike)extractTextureProperty の主要処理を担当します。
Object profileLikeなし
private VisualHandle spawnArmorStandFallback(World world, Location loc, UUID ownerId, String ownerName, EquipmentSnapshot equipment)spawnArmorStandFallback の主要処理を担当します。
World worldLocation locUUID ownerIdString ownerNameEquipmentSnapshot equipmentなし
private void updateArmorStandFallback(VisualHandle handle, ArmorStand stand, Location to)状態を永続化または更新し、最新状態へ反映します。
VisualHandle handleArmorStand standLocation toなし
private static double clamp(double v, double min, double max)clamp の主要処理を担当します。
double vdouble mindouble maxなし
private void applyArmorStandEquipment(ArmorStand stand, EquipmentSnapshot equipment)applyArmorStandEquipment の主要処理を担当します。
ArmorStand standEquipmentSnapshot equipmentなし
private ItemStack buildFallbackHead(UUID ownerId, String ownerName)表示用または出力用のデータを組み立てます。
UUID ownerIdString ownerNameなし
private ItemStack cloneOrNull(ItemStack item)cloneOrNull の主要処理を担当します。
ItemStack itemなし
private void showToAll(VisualHandle handle, World world, float yaw)showToAll の主要処理を担当します。
VisualHandle handleWorld worldfloat yawなし
private ReflectionAccess access()access の主要処理を担当します。
なし
private String buildNpcName(String ownerName, UUID ownerId)表示用または出力用のデータを組み立てます。
String ownerNameUUID ownerIdなし
updateArmorStandFallback → computeIfAbsent → uuid → clone → getX → getZupdateEquipment → mode → getEntity → armorStandId → applyArmorStandEquipmentbuildNpcName → replaceAll → isBlank → toString → replace → substringbuildFallbackHead → getItemMeta → setOwningPlayer → getOfflinePlayer → setItemMetaapplyArmorStandEquipment → getEquipment → setItemInMainHand → cloneOrNull → mainHand → setItemInOffHand