ChickenRenderer.java
net.minecraft.client.renderer.entity.ChickenRenderer
信息
- 全限定名:net.minecraft.client.renderer.entity.ChickenRenderer
- 类型:public class
- 包:net.minecraft.client.renderer.entity
- 源码路径:src/main/java/net/minecraft/client/renderer/entity/ChickenRenderer.java
- 起始行号:L24
- 继承:MobRenderer<Chicken,ChickenRenderState,ChickenModel>
- 职责:
TODO
字段/常量
models- 类型:
Map<ChickenVariant.ModelType,AdultAndBabyModelPair<ChickenModel>> - 修饰符:
private final - 源码定位:
L25 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public ChickenRenderer(EntityRendererProvider.Context context) @ L27
- 构造器名:ChickenRenderer
- 源码定位:L27
- 修饰符:public
参数:
- context: EntityRendererProvider.Context
说明:
TODO
方法
下面的方法块按源码顺序生成。
private static Map<ChickenVariant.ModelType,AdultAndBabyModelPair<ChickenModel>> bakeModels(EntityRendererProvider.Context context) @ L32
- 方法名:bakeModels
- 源码定位:L32
- 返回类型:Map<ChickenVariant.ModelType,AdultAndBabyModelPair
> - 修饰符:private static
参数:
- context: EntityRendererProvider.Context
说明:
TODO
public void submit(ChickenRenderState state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState camera) @ L47
- 方法名:submit
- 源码定位:L47
- 返回类型:void
- 修饰符:public
参数:
- state: ChickenRenderState
- poseStack: PoseStack
- submitNodeCollector: SubmitNodeCollector
- camera: CameraRenderState
说明:
TODO
public Identifier getTextureLocation(ChickenRenderState state) @ L54
- 方法名:getTextureLocation
- 源码定位:L54
- 返回类型:Identifier
- 修饰符:public
参数:
- state: ChickenRenderState
说明:
TODO
public ChickenRenderState createRenderState() @ L60
- 方法名:createRenderState
- 源码定位:L60
- 返回类型:ChickenRenderState
- 修饰符:public
参数:
- 无
说明:
TODO
public void extractRenderState(Chicken entity, ChickenRenderState state, float partialTicks) @ L64
- 方法名:extractRenderState
- 源码定位:L64
- 返回类型:void
- 修饰符:public
参数:
- entity: Chicken
- state: ChickenRenderState
- partialTicks: float
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class ChickenRenderer extends MobRenderer<Chicken, ChickenRenderState, ChickenModel> {
private final Map<ChickenVariant.ModelType, AdultAndBabyModelPair<ChickenModel>> models;
public ChickenRenderer(EntityRendererProvider.Context context) {
super(context, new AdultChickenModel(context.bakeLayer(ModelLayers.CHICKEN)), 0.3F);
this.models = bakeModels(context);
}
private static Map<ChickenVariant.ModelType, AdultAndBabyModelPair<ChickenModel>> bakeModels(EntityRendererProvider.Context context) {
return Maps.newEnumMap(
Map.of(
ChickenVariant.ModelType.NORMAL,
new AdultAndBabyModelPair<>(
new AdultChickenModel(context.bakeLayer(ModelLayers.CHICKEN)), new BabyChickenModel(context.bakeLayer(ModelLayers.CHICKEN_BABY))
),
ChickenVariant.ModelType.COLD,
new AdultAndBabyModelPair<>(
new ColdChickenModel(context.bakeLayer(ModelLayers.COLD_CHICKEN)), new BabyChickenModel(context.bakeLayer(ModelLayers.CHICKEN_BABY))
)
)
);
}
public void submit(ChickenRenderState state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState camera) {
if (state.variant != null) {
this.model = this.models.get(state.variant.modelAndTexture().model()).getModel(state.isBaby);
super.submit(state, poseStack, submitNodeCollector, camera);
}
}
public Identifier getTextureLocation(ChickenRenderState state) {
return state.variant == null
? MissingTextureAtlasSprite.getLocation()
: (state.isBaby ? state.variant.babyTexture().texturePath() : state.variant.modelAndTexture().asset().texturePath());
}
public ChickenRenderState createRenderState() {
return new ChickenRenderState();
}
public void extractRenderState(Chicken entity, ChickenRenderState state, float partialTicks) {
super.extractRenderState(entity, state, partialTicks);
state.flap = Mth.lerp(partialTicks, entity.oFlap, entity.flap);
state.flapSpeed = Mth.lerp(partialTicks, entity.oFlapSpeed, entity.flapSpeed);
state.variant = entity.getVariant().value();
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
字段/返回值
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
AdultChickenModel()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
BabyChickenModel()
- 引用位置:
-
- 引用位置:
字段/返回值
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
ColdChickenModel()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数/构造调用/返回值 - 关联成员:
ChickenRenderState()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
MissingTextureAtlasSprite.getLocation()
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Mth.lerp()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
字段/返回值
- 引用位置: