ゲーム好きな豚のしっぽ

筆者の下手の横好きなゲーム日記、情報メモです。主にプレイするのはtrophymanager、WoT、WoWS、洋モノSLGなどの予定。

DataWatcherに登録されているフィールド

注意事項

このリファレンスは筆者が記述した時点での拙い知識で翻訳、解釈したもののメモです。
誤訳や理解不足の可能性を多分に含みます。ご覧になる際はご注意ください。
ソースは1.8.9 - 11.15.1.1722のものを使用しています。

1.9からDataWatcherに代わってEntityDataManagerが使用されています。
この表でもわかるようにクラスごとにIDが指しているオブジェクトの意味も型も違っているため、その混乱を避ける意味と、キャストが減り、実行速度の改善とメモリの適正な使用が期待できるという理由から変更されたのだと思われます。おそらくこの効果は追加するエンティティが多い大型のMODほど高いです。

DataWatcherに登録されているフィールド

主にベースクラスのものをソースコードから拾っています。

DataWatcher-id 宣言クラス#プロパティ名 用途
0 Entity#flag boolean(byte) 一つのオブジェクトに5つのflagを詰め込んでいる。0:isBurning,1:isSneaking,2:isRiding,3:isSprinting,4:isEating
1 Entity#air Short 呼吸量?
2 Entity#customNameTag String エンティティの固有名
3 Entity#allwaysRenderNameTag boolean(byte) 名前を常時表示するかどうか
4 Entity#silent boolean(byte) 音を出すかどうか
6 EntityLivingBase#helth float 体力値
7 EntityLivingBase#potionMetadata Integer ポーション効果の色
8 EntityLivingBase#portionMetadata boolean(byte) ポーション効果があるかどうか
9 EntityLivingBase#arrowCountInEntity byte エンティティに刺さっている矢の数
10 EntityPlayer byte 不明
12 EntityAgeable#growingAge byte 成長までの年齢(時間)
15 EntityLivig#isAiDisabled boolean(byte) AIを使用するかどうか
16 EntityTameable#isSitting boolean(bit1) お座り状態か
16 EntityTameable#isTamed boolean(bit4) テイムされているかどうか
16 EntityVilager#profession Integer 村人の職業
17 EntytyPlayer#absorptionAmount float 呼吸量
17 EntityTameable#ownerId String 飼い主のID
18 EntityPlayer#score Integer スコア(経験値)

その他エンティティ特有のデータは多数ある模様ですが普通は触らないかと思われます。