CatRenderer.java
net.minecraft.client.renderer.entity.CatRenderer
信息
- 全限定名:net.minecraft.client.renderer.entity.CatRenderer
- 类型:public class
- 包:net.minecraft.client.renderer.entity
- 源码路径:src/main/java/net/minecraft/client/renderer/entity/CatRenderer.java
- 起始行号:L18
- 继承:AgeableMobRenderer<Cat,CatRenderState,AbstractFelineModel
> - 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
- 无
构造器
public CatRenderer(EntityRendererProvider.Context context) @ L19
- 构造器名:CatRenderer
- 源码定位:L19
- 修饰符:public
参数:
- context: EntityRendererProvider.Context
说明:
TODO
方法
下面的方法块按源码顺序生成。
public Identifier getTextureLocation(CatRenderState state) @ L24
- 方法名:getTextureLocation
- 源码定位:L24
- 返回类型:Identifier
- 修饰符:public
参数:
- state: CatRenderState
说明:
TODO
public CatRenderState createRenderState() @ L28
- 方法名:createRenderState
- 源码定位:L28
- 返回类型:CatRenderState
- 修饰符:public
参数:
- 无
说明:
TODO
public void extractRenderState(Cat entity, CatRenderState state, float partialTicks) @ L32
- 方法名:extractRenderState
- 源码定位:L32
- 返回类型:void
- 修饰符:public
参数:
- entity: Cat
- state: CatRenderState
- partialTicks: float
说明:
TODO
protected void setupRotations(CatRenderState state, PoseStack poseStack, float bodyRot, float entityScale) @ L45
- 方法名:setupRotations
- 源码定位:L45
- 返回类型:void
- 修饰符:protected
参数:
- state: CatRenderState
- poseStack: PoseStack
- bodyRot: float
- entityScale: float
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class CatRenderer extends AgeableMobRenderer<Cat, CatRenderState, AbstractFelineModel<CatRenderState>> {
public CatRenderer(EntityRendererProvider.Context context) {
super(context, new AdultCatModel(context.bakeLayer(ModelLayers.CAT)), new BabyCatModel(context.bakeLayer(ModelLayers.CAT_BABY)), 0.4F);
this.addLayer(new CatCollarLayer(this, context.getModelSet()));
}
public Identifier getTextureLocation(CatRenderState state) {
return state.texture;
}
public CatRenderState createRenderState() {
return new CatRenderState();
}
public void extractRenderState(Cat entity, CatRenderState state, float partialTicks) {
super.extractRenderState(entity, state, partialTicks);
state.texture = entity.getVariant().value().assetInfo(state.isBaby).texturePath();
state.isCrouching = entity.isCrouching();
state.isSprinting = entity.isSprinting();
state.isSitting = entity.isInSittingPose();
state.lieDownAmount = entity.getLieDownAmount(partialTicks);
state.lieDownAmountTail = entity.getLieDownAmountTail(partialTicks);
state.relaxStateOneAmount = entity.getRelaxStateOneAmount(partialTicks);
state.isLyingOnTopOfSleepingPlayer = entity.isLyingOnTopOfSleepingPlayer();
state.collarColor = entity.isTame() ? entity.getCollarColor() : null;
}
protected void setupRotations(CatRenderState state, PoseStack poseStack, float bodyRot, float entityScale) {
super.setupRotations(state, poseStack, bodyRot, entityScale);
float lieDownAmount = state.lieDownAmount;
if (lieDownAmount > 0.0F) {
poseStack.translate(0.4F * lieDownAmount, 0.15F * lieDownAmount, 0.1F * lieDownAmount);
poseStack.mulPose(Axis.ZP.rotationDegrees(Mth.rotLerp(lieDownAmount, 0.0F, 90.0F)));
if (state.isLyingOnTopOfSleepingPlayer) {
poseStack.translate(0.15F * lieDownAmount, 0.0F, 0.0F);
}
}
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
AdultCatModel()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
BabyCatModel()
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
CatCollarLayer()
- 引用位置:
-
- 引用位置:
参数/构造调用/返回值 - 关联成员:
CatRenderState()
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Mth.rotLerp()
- 引用位置:
-
- 引用位置:
参数
- 引用位置: