PigRenderer.java
net.minecraft.client.renderer.entity.PigRenderer
信息
- 全限定名:net.minecraft.client.renderer.entity.PigRenderer
- 类型:public class
- 包:net.minecraft.client.renderer.entity
- 源码路径:src/main/java/net/minecraft/client/renderer/entity/PigRenderer.java
- 起始行号:L25
- 继承:MobRenderer<Pig,PigRenderState,PigModel>
- 职责:
TODO
字段/常量
models- 类型:
Map<PigVariant.ModelType,AdultAndBabyModelPair<PigModel>> - 修饰符:
private final - 源码定位:
L26 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public PigRenderer(EntityRendererProvider.Context context) @ L28
- 构造器名:PigRenderer
- 源码定位:L28
- 修饰符:public
参数:
- context: EntityRendererProvider.Context
说明:
TODO
方法
下面的方法块按源码顺序生成。
private static Map<PigVariant.ModelType,AdultAndBabyModelPair<PigModel>> bakeModels(EntityRendererProvider.Context context) @ L43
- 方法名:bakeModels
- 源码定位:L43
- 返回类型:Map<PigVariant.ModelType,AdultAndBabyModelPair
> - 修饰符:private static
参数:
- context: EntityRendererProvider.Context
说明:
TODO
public void submit(PigRenderState state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState camera) @ L56
- 方法名:submit
- 源码定位:L56
- 返回类型:void
- 修饰符:public
参数:
- state: PigRenderState
- poseStack: PoseStack
- submitNodeCollector: SubmitNodeCollector
- camera: CameraRenderState
说明:
TODO
public Identifier getTextureLocation(PigRenderState state) @ L63
- 方法名:getTextureLocation
- 源码定位:L63
- 返回类型:Identifier
- 修饰符:public
参数:
- state: PigRenderState
说明:
TODO
public PigRenderState createRenderState() @ L69
- 方法名:createRenderState
- 源码定位:L69
- 返回类型:PigRenderState
- 修饰符:public
参数:
- 无
说明:
TODO
public void extractRenderState(Pig entity, PigRenderState state, float partialTicks) @ L73
- 方法名:extractRenderState
- 源码定位:L73
- 返回类型:void
- 修饰符:public
参数:
- entity: Pig
- state: PigRenderState
- partialTicks: float
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class PigRenderer extends MobRenderer<Pig, PigRenderState, PigModel> {
private final Map<PigVariant.ModelType, AdultAndBabyModelPair<PigModel>> models;
public PigRenderer(EntityRendererProvider.Context context) {
super(context, new PigModel(context.bakeLayer(ModelLayers.PIG)), 0.7F);
this.models = bakeModels(context);
this.addLayer(
new SimpleEquipmentLayer<>(
this,
context.getEquipmentRenderer(),
EquipmentClientInfo.LayerType.PIG_SADDLE,
state -> state.saddle,
new PigModel(context.bakeLayer(ModelLayers.PIG_SADDLE)),
null
)
);
}
private static Map<PigVariant.ModelType, AdultAndBabyModelPair<PigModel>> bakeModels(EntityRendererProvider.Context context) {
return Maps.newEnumMap(
Map.of(
PigVariant.ModelType.NORMAL,
new AdultAndBabyModelPair<>(new PigModel(context.bakeLayer(ModelLayers.PIG)), new BabyPigModel(context.bakeLayer(ModelLayers.PIG_BABY))),
PigVariant.ModelType.COLD,
new AdultAndBabyModelPair<>(
new ColdPigModel(context.bakeLayer(ModelLayers.COLD_PIG)), new BabyPigModel(context.bakeLayer(ModelLayers.PIG_BABY))
)
)
);
}
public void submit(PigRenderState 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(PigRenderState state) {
return state.variant == null
? MissingTextureAtlasSprite.getLocation()
: (state.isBaby ? state.variant.babyTexture().texturePath() : state.variant.modelAndTexture().asset().texturePath());
}
public PigRenderState createRenderState() {
return new PigRenderState();
}
public void extractRenderState(Pig entity, PigRenderState state, float partialTicks) {
super.extractRenderState(entity, state, partialTicks);
state.saddle = entity.getItemBySlot(EquipmentSlot.SADDLE).copy();
state.variant = entity.getVariant().value();
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
字段/返回值
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
BabyPigModel()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
ColdPigModel()
- 引用位置:
-
- 引用位置:
字段/构造调用/返回值 - 关联成员:
PigModel()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数/构造调用/返回值 - 关联成员:
PigRenderState()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
MissingTextureAtlasSprite.getLocation()
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
字段/返回值
- 引用位置: