その他の解説
ForgeDirection の ROTATION_MATRIX
ForgeDirection クラスには ROTATION_MATRIX 配列が定義されている。
これは方角の回転に用いられるのだが、内容は int で定義されているうえに、解説もなく分かりにくい。
そこで簡単にだが解説を用意した。
回転系は難しいので、あくまでも参考にしていただきたい。
ForgeDirection クラスのコード抜粋
package net.minecraftforge.common.util;
public enum ForgeDirection
{
// 考えられるすべての回転軸に対する左手の法則の回転行列
public static final int[][] ROTATION_MATRIX = {
{0, 1, 4, 5, 3, 2, 6}, // Y軸の+方向を向いて左に90°回転します。
{0, 1, 5, 4, 2, 3, 6}, // Y軸の+方向を向いて右に90°回転します。
{5, 4, 2, 3, 0, 1, 6}, // Z軸の+方向を向いて左に90°回転します。
{4, 5, 2, 3, 1, 0, 6}, // Z軸の+方向を向いて右に90°回転します。
{2, 3, 1, 0, 4, 5, 6}, // X軸の+方向を向いて左に90°回転します。
{3, 2, 0, 1, 4, 5, 6}, // X軸の+方向を向いて右に90°回転します。
{0, 1, 2, 3, 4, 5, 6},
};
}
筆者 : Megria 2023/7/22 更新
デフォルトの IIcon クラス
Block や Item には registerBlockIcons(IIconRegister register) メソッドが定義されている。
ほとんどのMOD製作者はこのメソッドで IIcon を取得していると思うが、戻り値はインターフェイスである。
デフォルトのクラスは net.minecraft.client.renderer.texture.TextureAtlasSprite で定義されている。
また、反転した IIcon を返す net.minecraft.client.renderer.IconFlipped クラスがある。
ちなみに上記のメソッドで呼ばれる IIconRegister のクラスは net.minecraft.client.renderer.texture.TextureMap である。
筆者 : Megria 2023/7/25 更新
リソースパックを読み込むクラス
Minecraft にはリソースパックという、 Block や Item などのテクスチャーを簡単に変更できるようにする機能がある。
基本的に設定などの GUI で目にするリソースパックは、ユーザーが任意で追加するリソースパックだが、内部データには当然デフォルトのリソースパックも存在する。
Minecraft 公式のリソースパックは net.minecraft.client.resources.DefaultResourcePack クラスで読み込み、Mod のリソースパックはデフォルトでは cpw.mods.fml.client.FMLFolderResourcePack クラスまたは cpw.mods.fml.client.FMLFileResourcePack クラスで読み込んでいる。(いずれも net.minecraft.client.resources.IResourcePack インターフェイスを実装している)
また、FMLFolderResourcePack は net.minecraft.client.resources.FolderResourcePack クラス、 FMLFileResourcePack は net.minecraft.client.resources.FileResourcePack クラスを継承している。
リソースパックを動的に読み込む場合はこれらのクラスを参考にするとよい。
また、これらのクラスは private List<net.minecraft.client.resources.IResourcePack> net.minecraft.client.Minecraft#defaultResourcePacks に格納されている。
筆者 : Megria 2024/1/29 更新