MushroomCowMushroomLayer.java
net.minecraft.client.renderer.entity.layers.MushroomCowMushroomLayer
信息
- 全限定名:net.minecraft.client.renderer.entity.layers.MushroomCowMushroomLayer
- 类型:public class
- 包:net.minecraft.client.renderer.entity.layers
- 源码路径:src/main/java/net/minecraft/client/renderer/entity/layers/MushroomCowMushroomLayer.java
- 起始行号:L15
- 继承:RenderLayer<MushroomCowRenderState,CowModel>
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
- 无
构造器
public MushroomCowMushroomLayer(RenderLayerParent<MushroomCowRenderState,CowModel> renderer) @ L16
- 构造器名:MushroomCowMushroomLayer
- 源码定位:L16
- 修饰符:public
参数:
- renderer: RenderLayerParent<MushroomCowRenderState,CowModel>
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void submit(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, MushroomCowRenderState state, float yRot, float xRot) @ L20
- 方法名:submit
- 源码定位:L20
- 返回类型:void
- 修饰符:public
参数:
- poseStack: PoseStack
- submitNodeCollector: SubmitNodeCollector
- lightCoords: int
- state: MushroomCowRenderState
- yRot: float
- xRot: float
说明:
TODO
private void submitMushroomBlock(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, boolean appearsGlowingWithInvisibility, int outlineColor, BlockModelRenderState mushroomModel, int overlayCoords) @ L59
- 方法名:submitMushroomBlock
- 源码定位:L59
- 返回类型:void
- 修饰符:private
参数:
- poseStack: PoseStack
- submitNodeCollector: SubmitNodeCollector
- lightCoords: int
- appearsGlowingWithInvisibility: boolean
- outlineColor: int
- mushroomModel: BlockModelRenderState
- overlayCoords: int
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class MushroomCowMushroomLayer extends RenderLayer<MushroomCowRenderState, CowModel> {
public MushroomCowMushroomLayer(RenderLayerParent<MushroomCowRenderState, CowModel> renderer) {
super(renderer);
}
public void submit(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, MushroomCowRenderState state, float yRot, float xRot) {
if (!state.isBaby && !state.mushroomModel.isEmpty()) {
boolean appearsGlowingWithInvisibility = state.appearsGlowing() && state.isInvisible;
if (!state.isInvisible || appearsGlowingWithInvisibility) {
int overlayCoords = LivingEntityRenderer.getOverlayCoords(state, 0.0F);
poseStack.pushPose();
poseStack.translate(0.2F, -0.35F, 0.5F);
poseStack.mulPose(Axis.YP.rotationDegrees(-48.0F));
poseStack.scale(-1.0F, -1.0F, 1.0F);
poseStack.translate(-0.5F, -0.5F, -0.5F);
this.submitMushroomBlock(
poseStack, submitNodeCollector, lightCoords, appearsGlowingWithInvisibility, state.outlineColor, state.mushroomModel, overlayCoords
);
poseStack.popPose();
poseStack.pushPose();
poseStack.translate(0.2F, -0.35F, 0.5F);
poseStack.mulPose(Axis.YP.rotationDegrees(42.0F));
poseStack.translate(0.1F, 0.0F, -0.6F);
poseStack.mulPose(Axis.YP.rotationDegrees(-48.0F));
poseStack.scale(-1.0F, -1.0F, 1.0F);
poseStack.translate(-0.5F, -0.5F, -0.5F);
this.submitMushroomBlock(
poseStack, submitNodeCollector, lightCoords, appearsGlowingWithInvisibility, state.outlineColor, state.mushroomModel, overlayCoords
);
poseStack.popPose();
poseStack.pushPose();
this.getParentModel().getHead().translateAndRotate(poseStack);
poseStack.translate(0.0F, -0.7F, -0.2F);
poseStack.mulPose(Axis.YP.rotationDegrees(-78.0F));
poseStack.scale(-1.0F, -1.0F, 1.0F);
poseStack.translate(-0.5F, -0.5F, -0.5F);
this.submitMushroomBlock(
poseStack, submitNodeCollector, lightCoords, appearsGlowingWithInvisibility, state.outlineColor, state.mushroomModel, overlayCoords
);
poseStack.popPose();
}
}
}
private void submitMushroomBlock(
PoseStack poseStack,
SubmitNodeCollector submitNodeCollector,
int lightCoords,
boolean appearsGlowingWithInvisibility,
int outlineColor,
BlockModelRenderState mushroomModel,
int overlayCoords
) {
if (appearsGlowingWithInvisibility) {
mushroomModel.submitOnlyOutline(poseStack, submitNodeCollector, lightCoords, overlayCoords, outlineColor);
} else {
mushroomModel.submit(poseStack, submitNodeCollector, lightCoords, overlayCoords, outlineColor);
}
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
LivingEntityRenderer.getOverlayCoords()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数
- 引用位置: