ParrotOnShoulderLayer.java
net.minecraft.client.renderer.entity.layers.ParrotOnShoulderLayer
信息
- 全限定名:net.minecraft.client.renderer.entity.layers.ParrotOnShoulderLayer
- 类型:public class
- 包:net.minecraft.client.renderer.entity.layers
- 源码路径:src/main/java/net/minecraft/client/renderer/entity/layers/ParrotOnShoulderLayer.java
- 起始行号:L19
- 继承:RenderLayer<AvatarRenderState,PlayerModel>
- 职责:
TODO
字段/常量
model- 类型:
ParrotModel - 修饰符:
private final - 源码定位:
L20 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public ParrotOnShoulderLayer(RenderLayerParent<AvatarRenderState,PlayerModel> renderer, EntityModelSet modelSet) @ L22
- 构造器名:ParrotOnShoulderLayer
- 源码定位:L22
- 修饰符:public
参数:
- renderer: RenderLayerParent<AvatarRenderState,PlayerModel>
- modelSet: EntityModelSet
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void submit(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, AvatarRenderState state, float yRot, float xRot) @ L27
- 方法名:submit
- 源码定位:L27
- 返回类型:void
- 修饰符:public
参数:
- poseStack: PoseStack
- submitNodeCollector: SubmitNodeCollector
- lightCoords: int
- state: AvatarRenderState
- yRot: float
- xRot: float
说明:
TODO
private void submitOnShoulder(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, AvatarRenderState playerState, Parrot.Variant parrotVariant, float yRot, float xRot, boolean isLeft) @ L39
- 方法名:submitOnShoulder
- 源码定位:L39
- 返回类型:void
- 修饰符:private
参数:
- poseStack: PoseStack
- submitNodeCollector: SubmitNodeCollector
- lightCoords: int
- playerState: AvatarRenderState
- parrotVariant: Parrot.Variant
- yRot: float
- xRot: float
- isLeft: boolean
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class ParrotOnShoulderLayer extends RenderLayer<AvatarRenderState, PlayerModel> {
private final ParrotModel model;
public ParrotOnShoulderLayer(RenderLayerParent<AvatarRenderState, PlayerModel> renderer, EntityModelSet modelSet) {
super(renderer);
this.model = new ParrotModel(modelSet.bakeLayer(ModelLayers.PARROT));
}
public void submit(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, AvatarRenderState state, float yRot, float xRot) {
Parrot.Variant parrotOnLeftShoulder = state.parrotOnLeftShoulder;
if (parrotOnLeftShoulder != null) {
this.submitOnShoulder(poseStack, submitNodeCollector, lightCoords, state, parrotOnLeftShoulder, yRot, xRot, true);
}
Parrot.Variant parrotOnRightShoulder = state.parrotOnRightShoulder;
if (parrotOnRightShoulder != null) {
this.submitOnShoulder(poseStack, submitNodeCollector, lightCoords, state, parrotOnRightShoulder, yRot, xRot, false);
}
}
private void submitOnShoulder(
PoseStack poseStack,
SubmitNodeCollector submitNodeCollector,
int lightCoords,
AvatarRenderState playerState,
Parrot.Variant parrotVariant,
float yRot,
float xRot,
boolean isLeft
) {
poseStack.pushPose();
poseStack.translate(isLeft ? 0.4F : -0.4F, playerState.isCrouching ? -1.3F : -1.5F, 0.0F);
ParrotRenderState parrotState = new ParrotRenderState();
parrotState.pose = ParrotModel.Pose.ON_SHOULDER;
parrotState.ageInTicks = playerState.ageInTicks;
parrotState.walkAnimationPos = playerState.walkAnimationPos;
parrotState.walkAnimationSpeed = playerState.walkAnimationSpeed;
parrotState.yRot = yRot;
parrotState.xRot = xRot;
submitNodeCollector.submitModel(
this.model,
parrotState,
poseStack,
ParrotRenderer.getVariantTexture(parrotVariant),
lightCoords,
OverlayTexture.NO_OVERLAY,
playerState.outlineColor,
null
);
poseStack.popPose();
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
ParrotModel()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
ParrotRenderer.getVariantTexture()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
ParrotRenderState()
- 引用位置:
-
- 引用位置:
参数
- 引用位置: