BlockModelSet.java
net.minecraft.client.renderer.block.BlockModelSet
信息
- 全限定名:net.minecraft.client.renderer.block.BlockModelSet
- 类型:public class
- 包:net.minecraft.client.renderer.block
- 源码路径:src/main/java/net/minecraft/client/renderer/block/BlockModelSet.java
- 起始行号:L18
- 职责:
TODO
字段/常量
-
IDENTITY- 类型:
Matrix4fc - 修饰符:
private static final - 源码定位:
L19 - 说明:
TODO
- 类型:
-
fallback- 类型:
BlockStateModelSet - 修饰符:
private final - 源码定位:
L20 - 说明:
TODO
- 类型:
-
blockColors- 类型:
BlockColors - 修饰符:
private final - 源码定位:
L21 - 说明:
TODO
- 类型:
-
blockModelByStateCache- 类型:
Map<BlockState,BlockModel> - 修饰符:
private final - 源码定位:
L22 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public BlockModelSet(BlockStateModelSet fallback, Map<BlockState,BlockModel> blockModelByState, BlockColors blockColors) @ L24
- 构造器名:BlockModelSet
- 源码定位:L24
- 修饰符:public
参数:
- fallback: BlockStateModelSet
- blockModelByState: Map<BlockState,BlockModel>
- blockColors: BlockColors
说明:
TODO
方法
下面的方法块按源码顺序生成。
public BlockModel get(BlockState blockState) @ L30
- 方法名:get
- 源码定位:L30
- 返回类型:BlockModel
- 修饰符:public
参数:
- blockState: BlockState
说明:
TODO
private BlockModel createFallbackModel(BlockState blockState) @ L34
- 方法名:createFallbackModel
- 源码定位:L34
- 返回类型:BlockModel
- 修饰符:private
参数:
- blockState: BlockState
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class BlockModelSet {
private static final Matrix4fc IDENTITY = new Matrix4f();
private final BlockStateModelSet fallback;
private final BlockColors blockColors;
private final Map<BlockState, BlockModel> blockModelByStateCache = new HashMap<>();
public BlockModelSet(BlockStateModelSet fallback, Map<BlockState, BlockModel> blockModelByState, BlockColors blockColors) {
this.fallback = fallback;
this.blockModelByStateCache.putAll(blockModelByState);
this.blockColors = blockColors;
}
public BlockModel get(BlockState blockState) {
return this.blockModelByStateCache.computeIfAbsent(blockState, this::createFallbackModel);
}
private BlockModel createFallbackModel(BlockState blockState) {
List<BlockTintSource> tints = this.blockColors.getTintSources(blockState);
BlockStateModel plainModel = this.fallback.get(blockState);
return new BlockStateModelWrapper(plainModel, tints, IDENTITY);
}
}引用的其他类
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/字段/返回值
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
BlockStateModelWrapper()
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置: