CamelRenderer.java
net.minecraft.client.renderer.entity.CamelRenderer
信息
- 全限定名:net.minecraft.client.renderer.entity.CamelRenderer
- 类型:public class
- 包:net.minecraft.client.renderer.entity
- 源码路径:src/main/java/net/minecraft/client/renderer/entity/CamelRenderer.java
- 起始行号:L19
- 继承:AgeableMobRenderer<Camel,CamelRenderState,CamelModel>
- 职责:
TODO
字段/常量
-
CAMEL_LOCATION- 类型:
Identifier - 修饰符:
private static final - 源码定位:
L20 - 说明:
TODO
- 类型:
-
CAMEL_BABY_LOCATION- 类型:
Identifier - 修饰符:
private static final - 源码定位:
L21 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public CamelRenderer(EntityRendererProvider.Context context) @ L23
- 构造器名:CamelRenderer
- 源码定位:L23
- 修饰符:public
参数:
- context: EntityRendererProvider.Context
说明:
TODO
方法
下面的方法块按源码顺序生成。
protected static SimpleEquipmentLayer<CamelRenderState,CamelModel,CamelSaddleModel> createCamelSaddleLayer(EntityRendererProvider.Context context, MobRenderer<Camel,CamelRenderState,CamelModel> renderer, EquipmentClientInfo.LayerType saddleLayerType, ModelLayerLocation saddleModelLayer) @ L28
- 方法名:createCamelSaddleLayer
- 源码定位:L28
- 返回类型:SimpleEquipmentLayer<CamelRenderState,CamelModel,CamelSaddleModel>
- 修饰符:protected static
参数:
- context: EntityRendererProvider.Context
- renderer: MobRenderer<Camel,CamelRenderState,CamelModel>
- saddleLayerType: EquipmentClientInfo.LayerType
- saddleModelLayer: ModelLayerLocation
说明:
TODO
public Identifier getTextureLocation(CamelRenderState state) @ L39
- 方法名:getTextureLocation
- 源码定位:L39
- 返回类型:Identifier
- 修饰符:public
参数:
- state: CamelRenderState
说明:
TODO
public CamelRenderState createRenderState() @ L43
- 方法名:createRenderState
- 源码定位:L43
- 返回类型:CamelRenderState
- 修饰符:public
参数:
- 无
说明:
TODO
public void extractRenderState(Camel entity, CamelRenderState state, float partialTicks) @ L47
- 方法名:extractRenderState
- 源码定位:L47
- 返回类型:void
- 修饰符:public
参数:
- entity: Camel
- state: CamelRenderState
- partialTicks: float
说明:
TODO
static void extractAdditionalState(Camel entity, CamelRenderState state, float partialTicks) @ L52
- 方法名:extractAdditionalState
- 源码定位:L52
- 返回类型:void
- 修饰符:static
参数:
- entity: Camel
- state: CamelRenderState
- partialTicks: float
说明:
TODO
static float getJumpCooldown(Camel camel, float partialTicks) @ L63
- 方法名:getJumpCooldown
- 源码定位:L63
- 返回类型:float
- 修饰符:static
参数:
- camel: Camel
- partialTicks: float
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class CamelRenderer extends AgeableMobRenderer<Camel, CamelRenderState, CamelModel> {
private static final Identifier CAMEL_LOCATION = Identifier.withDefaultNamespace("textures/entity/camel/camel.png");
private static final Identifier CAMEL_BABY_LOCATION = Identifier.withDefaultNamespace("textures/entity/camel/camel_baby.png");
public CamelRenderer(EntityRendererProvider.Context context) {
super(context, new AdultCamelModel(context.bakeLayer(ModelLayers.CAMEL)), new BabyCamelModel(context.bakeLayer(ModelLayers.CAMEL_BABY)), 0.7F);
this.addLayer(createCamelSaddleLayer(context, this, EquipmentClientInfo.LayerType.CAMEL_SADDLE, ModelLayers.CAMEL_SADDLE));
}
protected static SimpleEquipmentLayer<CamelRenderState, CamelModel, CamelSaddleModel> createCamelSaddleLayer(
EntityRendererProvider.Context context,
MobRenderer<Camel, CamelRenderState, CamelModel> renderer,
EquipmentClientInfo.LayerType saddleLayerType,
ModelLayerLocation saddleModelLayer
) {
return new SimpleEquipmentLayer<>(
renderer, context.getEquipmentRenderer(), saddleLayerType, state -> state.saddle, new CamelSaddleModel(context.bakeLayer(saddleModelLayer)), null
);
}
public Identifier getTextureLocation(CamelRenderState state) {
return state.isBaby ? CAMEL_BABY_LOCATION : CAMEL_LOCATION;
}
public CamelRenderState createRenderState() {
return new CamelRenderState();
}
public void extractRenderState(Camel entity, CamelRenderState state, float partialTicks) {
super.extractRenderState(entity, state, partialTicks);
extractAdditionalState(entity, state, partialTicks);
}
static void extractAdditionalState(Camel entity, CamelRenderState state, float partialTicks) {
state.saddle = entity.getItemBySlot(EquipmentSlot.SADDLE).copy();
state.isRidden = entity.isVehicle();
state.jumpCooldown = getJumpCooldown(entity, partialTicks);
state.sitAnimationState.copyFrom(entity.sitAnimationState);
state.sitPoseAnimationState.copyFrom(entity.sitPoseAnimationState);
state.sitUpAnimationState.copyFrom(entity.sitUpAnimationState);
state.idleAnimationState.copyFrom(entity.idleAnimationState);
state.dashAnimationState.copyFrom(entity.dashAnimationState);
}
static float getJumpCooldown(Camel camel, float partialTicks) {
return Math.max(camel.getJumpCooldown() - partialTicks, 0.0F);
}
}引用的其他类
-
- 引用位置:
构造调用 - 关联成员:
AdultCamelModel()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
BabyCamelModel()
- 引用位置:
-
- 引用位置:
参数/返回值
- 引用位置:
-
- 引用位置:
构造调用/返回值 - 关联成员:
CamelSaddleModel()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数/构造调用/返回值 - 关联成员:
CamelRenderState()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
字段/方法调用/返回值 - 关联成员:
Identifier.withDefaultNamespace()
- 引用位置:
-
- 引用位置:
参数
- 引用位置: