模型
模型系统是 Minecraft 为方块和物品赋予形状的方式。系统将方块和物品映射到定义其外观的模型,其主要目标之一是让资源包不仅能修改纹理,还能修改整个形状。事实上,添加物品或方块的 Mod 都包含供这些内容使用的小型资源包。
原创说明图,依据 Forge 1.21.x 官方文档 绘制。
模型文件
模型和纹理通过 ResourceLocation 关联,但在 ModelManager 中以 ModelResourceLocation 存储。根据引用的是方块状态还是物品模型,通过方块或物品的注册表名称在不同位置引用模型。方块的 ModelResourceLocation 表示其注册表名称及当前 BlockState 的字符串形式;物品则使用注册表名称后接 inventory。
注意:JSON 模型只支持长方体元素,无法表达三角楔形等形状。更复杂的模型必须使用其他格式。
纹理
纹理与模型一样位于资源包中,通过 ResourceLocation 引用。Minecraft 中的 UV 坐标 (0,0) 表示左上角;UV 始终从 0 到 16,纹理较大或较小时坐标会缩放适配。
纹理应为正方形,边长应为 2 的幂,否则会破坏 mipmap。例如 1×1、2×2、8×8、16×16 和 128×128 是合适的;5×5 和 30×30 不是 2 的幂,不推荐;5×10 和 4×8 不是正方形,会完全出错。只有动画纹理才应使用非正方形。
原文:Models。