
Json格式化实体模型
数据驱动实体模型库
JsonEM(Json 实体模型)
面向模组开发者、资源包作者和整合包制作者的库,用于使用 JSON 创建和编辑实体模型
不兼容 OptiFine 格式!
生成参考实体模型:
如果你想导出所有实体模型(原版或模组版)的 JSON 版本,以便通过资源包轻松编辑或将其作为示例使用,操作方法如下:
- 启动游戏,然后打开位于
.minecraft/config/jsonem.properties的配置文件。 - 将文件第二行修改为
dump_models=true。 - 重新启动游戏,进入文件夹
.minecraft/jsonem_dump。 - 此文件夹中应能找到所有已注册实体模型导出的 JSON 文件,其格式与资源包一致。
- 编辑或通过资源包添加模型时,请使用此格式。
在 Blockbench 中编辑模型:
要在 Blockbench 中编辑模型,请安装本仓库中的插件。
- 从该 GitHub 仓库 下载 文件
jsonem_models.js - 在 Blockbench 中,进入
File > Plugins,在对话框顶部点击Load Plugin from File图标,选择jsonem_models.js文件。 - 进入
File > New,选择JsonEM Java Entity Model开始编辑。 - 你也可以通过
File > Open Model导入 JsonEM 的 JSON 模型文件,例如从游戏导出的文件。 - 要导出模型以供 JsonEM 使用,请进入
File > Export > Export JsonEM Java Entity Model并保存文件。
面向资源包/整合包制作者:
- 按照上述步骤,从你的游戏或整合包中导出所有实体模型。
- 编辑资源包/整合包资源时,按照导出的模型文件夹中的格式添加实体模型 JSON 文件。
面向模组开发者:
JsonEM 可以让你完全使用 JSON 为实体创建 TexturedModelData。
本指南将演示如何使用 JSON 制作该教程中的立方体实体模型。
- 按如下方式引入本模组(版本可在此处查看):
repositories {
maven { url "https://api.modrinth.com/maven" }
}
dependencies {
// 将 <version> 替换为你需要的版本
modImplementation "maven.modrinth:jsonem:<version>"
include "maven.modrinth:jsonem:<version>"
}
- 通过 JsonEM 而非 Fabric API 为你的实体注册实体模型层(无需代码生成的 TexturedModelData)
void onInitializeClient() {
[...]
JsonEM.registerModelLayer(MODEL_CUBE_LAYER); // 层 ID: "entitytesting:cube",层名称:"main"
}
- 在你的模组资源中添加包含实体模型数据的模型文件
示例:assets/entitytesting/models/entity/cube/main.json
{
"texture": {
"width": 64,
"height": 64
},
"bones": {
"cube": {
"transform": {
"origin": [0, 0, 0]
},
"cuboids": [
{
"uv": [0, 0],
"offset": [-6, 12, -6],
"dimensions": [12, 12, 12]
}
]
}
}
}
- 确保上述文件中的骨骼
"cube"在实体模型中以相同名称进行访问
public CubeEntityModel(ModelPart modelPart) {
this.base = modelPart.getChild("cube"); // 原版教程使用的是未指定的字段 EntityModelPartNames.CUBE
}
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。