SpecialBlockModelWrapper.java
net.minecraft.client.renderer.block.model.SpecialBlockModelWrapper
信息
- 全限定名:net.minecraft.client.renderer.block.model.SpecialBlockModelWrapper
- 类型:public class
- 包:net.minecraft.client.renderer.block.model
- 源码路径:src/main/java/net/minecraft/client/renderer/block/model/SpecialBlockModelWrapper.java
- 起始行号:L13
- 实现:BlockModel
- 职责:
TODO
字段/常量
-
specialRenderer- 类型:
SpecialModelRenderer<T> - 修饰符:
private final - 源码定位:
L14 - 说明:
TODO
- 类型:
-
transformation- 类型:
Matrix4fc - 修饰符:
private final - 源码定位:
L15 - 说明:
TODO
- 类型:
内部类/嵌套类型
net.minecraft.client.renderer.block.model.SpecialBlockModelWrapper.Unbaked- 类型:
record - 修饰符:
public - 源码定位:
L28 - 说明:
TODO
- 类型:
构造器
public SpecialBlockModelWrapper(SpecialModelRenderer<T> specialRenderer, Matrix4fc transformation) @ L17
- 构造器名:SpecialBlockModelWrapper
- 源码定位:L17
- 修饰符:public
参数:
- specialRenderer: SpecialModelRenderer
- transformation: Matrix4fc
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void update(BlockModelRenderState output, BlockState blockState, BlockDisplayContext displayContext, long seed) @ L22
- 方法名:update
- 源码定位:L22
- 返回类型:void
- 修饰符:public
参数:
- output: BlockModelRenderState
- blockState: BlockState
- displayContext: BlockDisplayContext
- seed: long
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class SpecialBlockModelWrapper<T> implements BlockModel {
private final SpecialModelRenderer<T> specialRenderer;
private final Matrix4fc transformation;
public SpecialBlockModelWrapper(SpecialModelRenderer<T> specialRenderer, Matrix4fc transformation) {
this.specialRenderer = specialRenderer;
this.transformation = transformation;
}
@Override
public void update(BlockModelRenderState output, BlockState blockState, BlockDisplayContext displayContext, long seed) {
output.setupSpecialModel(this.specialRenderer, this.transformation);
}
@OnlyIn(Dist.CLIENT)
public record Unbaked<T>(SpecialModelRenderer.Unbaked<T> model, Optional<Transformation> transformation) implements BlockModel.Unbaked {
@Override
public BlockModel bake(BlockModel.BakingContext context, Matrix4fc transformation) {
SpecialModelRenderer<T> baked = this.model.bake(context);
if (baked == null) {
return EmptyBlockModel.INSTANCE;
} else {
Matrix4fc modelTransform = Transformation.compose(transformation, this.transformation);
return new SpecialBlockModelWrapper<>(baked, modelTransform);
}
}
}
}引用的其他类
-
- 引用位置:
方法调用 - 关联成员:
Transformation.compose()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数
- 引用位置: