13.19.0.xxx~"を前提MODとしています。初心者向けのチュートリアルです。Playerに関係のあるチュートリアルです。General統計の追加StatBasic「net.minecraft.stats.StatBasic」は、「net.minecraft.stats.StatBase」のサブクラスで、統計の名称(例えば、「ゲームを終了した回数」)や表示書式(例えば、日を表す「d」や距離を表す「m」「cm」といった単位を付ける処理)を格納するクラスです。StatBasicのコンストラクタは2種類あり、一方には表示書式のインターフェース「net.minecraft.stats.IStatType」のインスタンスを渡すことができます。一方では、整数を扱うデフォルトの表示書式「StatBase#simpleStatType」が使用されます。StatBasicのコンストラクタの第一引数には、統計を特定する固有のIDをString型で渡します。第二引数には、インターフェース「net.minecraft.util.text.ITextComponent」を実装したクラスのインスタンスを渡します。ここには「net.minecraft.util.text.TextComponentTranslation」を使うことで、ローカライズしたテキストを表示できるでしょう。Modで追加するStatBasicのインスタンスは、「StatBasic#registerStat」を呼び出すことでゲーム内に統計として追加することができます。バニラの統計を扱うときは、「net.minecraft.stats.StatList」にあるStatBasicのstaticなインスタンスを使用します。統計の値を操作するときは、「net.minecraft.entity.player.EntityPlayer#addStat」を呼び出します。この関数の第一引数はStatBase型を取り、「StatBasic」を渡します。第二引数「amount」には、統計の値を操作する(増加させる)量を指定します。10);「EntityPlayer#addStat」は「実績」の獲得にも使用されます。「実績」は「StatBasic」と同じく「StatBase」のサブクラスである「net.minecraft.stats.Achievement」で表現します。こちらも扱ってみたい方は、1.11の実績追加を参照するとよいでしょう。統計の操作は、一度ワールドに入り直さないと反映されないかもしれません(バニラの仕様かバグ?)。サーバーから「独立した」統計として設定するという意味?isIndependentがtrueになり、「net.minecraft.client.entity.EntityPlayerSP#addStat」を呼び出したとき、スーパークラスの「#addStat」呼び出しをスキップしなくなるが、「EntityPlayerSP」のスーパークラス「net.minecraft.client.entity.AbstractClientPlayer」では再実装されておらず、その上の「EntityPlayer」では空実装になっているので、未実装要素で意味はないと思われる。インスタンスを統計としてゲームに登録する。弓矢を使って自分で自分を攻撃するたびに1ずつ増える統計を追加します。統計追加の参考用に、バニラの統計リストを引用します。これは、1.11.2時点のものです。