AbstractSkeletonRenderer.java
net.minecraft.client.renderer.entity.AbstractSkeletonRenderer
信息
- 全限定名:net.minecraft.client.renderer.entity.AbstractSkeletonRenderer
- 类型:public abstract class
- 包:net.minecraft.client.renderer.entity
- 源码路径:src/main/java/net/minecraft/client/renderer/entity/AbstractSkeletonRenderer.java
- 起始行号:L15
- 继承:HumanoidMobRenderer<T,S,SkeletonModel
> - 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
- 无
构造器
public AbstractSkeletonRenderer(EntityRendererProvider.Context context, ModelLayerLocation body, ArmorModelSet<ModelLayerLocation> armorSet) @ L16
- 构造器名:AbstractSkeletonRenderer
- 源码定位:L16
- 修饰符:public
参数:
- context: EntityRendererProvider.Context
- body: ModelLayerLocation
- armorSet: ArmorModelSet
说明:
TODO
public AbstractSkeletonRenderer(EntityRendererProvider.Context context, ArmorModelSet<ModelLayerLocation> armorSet, SkeletonModel<S> bodyModel) @ L20
- 构造器名:AbstractSkeletonRenderer
- 源码定位:L20
- 修饰符:public
参数:
- context: EntityRendererProvider.Context
- armorSet: ArmorModelSet
- bodyModel: SkeletonModel
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void extractRenderState(T entity, S state, float partialTicks) @ L25
- 方法名:extractRenderState
- 源码定位:L25
- 返回类型:void
- 修饰符:public
参数:
- entity: T
- state: S
- partialTicks: float
说明:
TODO
protected boolean isShaking(S state) @ L32
- 方法名:isShaking
- 源码定位:L32
- 返回类型:boolean
- 修饰符:protected
参数:
- state: S
说明:
TODO
protected HumanoidModel.ArmPose getArmPose(T mob, HumanoidArm arm) @ L36
- 方法名:getArmPose
- 源码定位:L36
- 返回类型:HumanoidModel.ArmPose
- 修饰符:protected
参数:
- mob: T
- arm: HumanoidArm
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public abstract class AbstractSkeletonRenderer<T extends AbstractSkeleton, S extends SkeletonRenderState> extends HumanoidMobRenderer<T, S, SkeletonModel<S>> {
public AbstractSkeletonRenderer(EntityRendererProvider.Context context, ModelLayerLocation body, ArmorModelSet<ModelLayerLocation> armorSet) {
this(context, armorSet, new SkeletonModel<>(context.bakeLayer(body)));
}
public AbstractSkeletonRenderer(EntityRendererProvider.Context context, ArmorModelSet<ModelLayerLocation> armorSet, SkeletonModel<S> bodyModel) {
super(context, bodyModel, 0.5F);
this.addLayer(new HumanoidArmorLayer<>(this, ArmorModelSet.bake(armorSet, context.getModelSet(), SkeletonModel::new), context.getEquipmentRenderer()));
}
public void extractRenderState(T entity, S state, float partialTicks) {
super.extractRenderState(entity, state, partialTicks);
state.isAggressive = entity.isAggressive();
state.isShaking = entity.isShaking();
state.isHoldingBow = entity.getMainHandItem().is(Items.BOW);
}
protected boolean isShaking(S state) {
return state.isShaking;
}
protected HumanoidModel.ArmPose getArmPose(T mob, HumanoidArm arm) {
return mob.getMainArm() == arm && mob.isAggressive() && mob.getMainHandItem().is(Items.BOW)
? HumanoidModel.ArmPose.BOW_AND_ARROW
: super.getArmPose(mob, arm);
}
}引用的其他类
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/方法调用 - 关联成员:
ArmorModelSet.bake()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数
- 引用位置: