方块模型 API

基本信息

属性 值
接口 com.gtnewhorizon.gtnhlib.api.IBlockModelProvider
同包接口 com.gtnewhorizon.gtnhlib.api.BlockModelInfo
源码 src/main/java/com/gtnewhorizon/gtnhlib/api/IBlockModelProvider.java
作用面 客户端(ModelISBRH 渲染管线)
实现方 由下游 mod 自行实现,GTNHLib 不注册任何方块

功能

IBlockModelProvider 让方块向 GTNHLib 的模型渲染器提供自定义烘焙模型,走 ModelISBRH 而非标准 JSON 模型路径。源码注释明确写了用途(IBlockModelProvider.java:8-10):

An interface for Blocks to allow providing custom models for ModelISBRH. Not necessary for standard JSON models.

接口只有一个方法:

方法 返回 说明
getModel(BakedModelQuadContext context) BakedModel 传入当前面片(quad)上下文,返回用于该面的烘焙模型

BakedModelQuadContext 与 BakedModel 均在 com.gtnewhorizon.gtnhlib.client.model 包下,不在对外 api 包内。

BlockModelInfo(api/BlockModelInfo.java:8)是同包下的配套查询接口,供模型系统反查方块的模型元信息。

数值

数值名 值
接口方法数 1(getModel)
需要实现的抽象方法 1
默认方法 0

交互

方块类实现 IBlockModelProvider 后,ModelISBRH 在渲染该方块时回调 getModel 取得 BakedModel。普通 JSON 模型方块不需要实现本接口 —— 未实现时沿用原版 ISBRH 路径。

相关条目