FluidModel.java
net.minecraft.client.renderer.block.FluidModel
信息
- 全限定名:net.minecraft.client.renderer.block.FluidModel
- 类型:public record
- 包:net.minecraft.client.renderer.block
- 源码路径:src/main/java/net/minecraft/client/renderer/block/FluidModel.java
- 起始行号:L14
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
net.minecraft.client.renderer.block.FluidModel.Unbaked- 类型:
record - 修饰符:
public - 源码定位:
L22 - 说明:
TODO
- 类型:
构造器
- 无
方法
下面的方法块按源码顺序生成。
- 无
代码
@OnlyIn(Dist.CLIENT)
public record FluidModel(
ChunkSectionLayer layer,
Material.Baked stillMaterial,
Material.Baked flowingMaterial,
Material.@Nullable Baked overlayMaterial,
@Nullable BlockTintSource tintSource
) {
@OnlyIn(Dist.CLIENT)
public record Unbaked(Material stillMaterial, Material flowingMaterial, @Nullable Material overlayMaterial, @Nullable BlockTintSource tintSource) {
public FluidModel bake(MaterialBaker materials, ModelDebugName modelName) {
Material.Baked stillMaterial = materials.get(this.stillMaterial, modelName);
Material.Baked flowingMaterial = materials.get(this.flowingMaterial, modelName);
Material.Baked overlayMaterial = this.overlayMaterial != null ? materials.get(this.overlayMaterial, modelName) : null;
Transparency transparency = getTransparency(stillMaterial).or(getTransparency(flowingMaterial));
if (overlayMaterial != null) {
transparency = transparency.or(getTransparency(overlayMaterial));
}
return new FluidModel(ChunkSectionLayer.byTransparency(transparency), stillMaterial, flowingMaterial, overlayMaterial, this.tintSource);
}
private static Transparency getTransparency(Material.Baked material) {
return material.forceTranslucent() ? Transparency.TRANSLUCENT : material.sprite().transparency();
}
}
}引用的其他类
- ChunkSectionLayer
- 引用位置:
方法调用 - 关联成员:
ChunkSectionLayer.byTransparency()
- 引用位置: