CopperGolemStatueBlockRenderer.java
net.minecraft.client.renderer.blockentity.CopperGolemStatueBlockRenderer
信息
- 全限定名:net.minecraft.client.renderer.blockentity.CopperGolemStatueBlockRenderer
- 类型:public class
- 包:net.minecraft.client.renderer.blockentity
- 源码路径:src/main/java/net/minecraft/client/renderer/blockentity/CopperGolemStatueBlockRenderer.java
- 起始行号:L31
- 实现:BlockEntityRenderer<CopperGolemStatueBlockEntity,CopperGolemStatueRenderState>
- 职责:
TODO
字段/常量
-
TRANSFORMATIONS- 类型:
Map<Direction,Transformation> - 修饰符:
private static final - 源码定位:
L32 - 说明:
TODO
- 类型:
-
models- 类型:
Map<CopperGolemStatueBlock.Pose,CopperGolemStatueModel> - 修饰符:
private final - 源码定位:
L35 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public CopperGolemStatueBlockRenderer(BlockEntityRendererProvider.Context context) @ L37
- 构造器名:CopperGolemStatueBlockRenderer
- 源码定位:L37
- 修饰符:public
参数:
- context: BlockEntityRendererProvider.Context
说明:
TODO
方法
下面的方法块按源码顺序生成。
public CopperGolemStatueRenderState createRenderState() @ L45
- 方法名:createRenderState
- 源码定位:L45
- 返回类型:CopperGolemStatueRenderState
- 修饰符:public
参数:
- 无
说明:
TODO
public void extractRenderState(CopperGolemStatueBlockEntity blockEntity, CopperGolemStatueRenderState state, float partialTicks, Vec3 cameraPosition, ModelFeatureRenderer.CrumblingOverlay breakProgress) @ L49
- 方法名:extractRenderState
- 源码定位:L49
- 返回类型:void
- 修饰符:public
参数:
- blockEntity: CopperGolemStatueBlockEntity
- state: CopperGolemStatueRenderState
- partialTicks: float
- cameraPosition: Vec3
- breakProgress: ModelFeatureRenderer.CrumblingOverlay
说明:
TODO
public void submit(CopperGolemStatueRenderState state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState camera) @ L65
- 方法名:submit
- 源码定位:L65
- 返回类型:void
- 修饰符:public
参数:
- state: CopperGolemStatueRenderState
- poseStack: PoseStack
- submitNodeCollector: SubmitNodeCollector
- camera: CameraRenderState
说明:
TODO
public static Transformation modelTransformation(Direction facing) @ L82
- 方法名:modelTransformation
- 源码定位:L82
- 返回类型:Transformation
- 修饰符:public static
参数:
- facing: Direction
说明:
TODO
private static Transformation createModelTransformation(Direction entityDirection) @ L86
- 方法名:createModelTransformation
- 源码定位:L86
- 返回类型:Transformation
- 修饰符:private static
参数:
- entityDirection: Direction
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class CopperGolemStatueBlockRenderer implements BlockEntityRenderer<CopperGolemStatueBlockEntity, CopperGolemStatueRenderState> {
private static final Map<Direction, Transformation> TRANSFORMATIONS = Util.makeEnumMap(
Direction.class, CopperGolemStatueBlockRenderer::createModelTransformation
);
private final Map<CopperGolemStatueBlock.Pose, CopperGolemStatueModel> models = new HashMap<>();
public CopperGolemStatueBlockRenderer(BlockEntityRendererProvider.Context context) {
EntityModelSet modelSet = context.entityModelSet();
this.models.put(CopperGolemStatueBlock.Pose.STANDING, new CopperGolemStatueModel(modelSet.bakeLayer(ModelLayers.COPPER_GOLEM)));
this.models.put(CopperGolemStatueBlock.Pose.RUNNING, new CopperGolemStatueModel(modelSet.bakeLayer(ModelLayers.COPPER_GOLEM_RUNNING)));
this.models.put(CopperGolemStatueBlock.Pose.SITTING, new CopperGolemStatueModel(modelSet.bakeLayer(ModelLayers.COPPER_GOLEM_SITTING)));
this.models.put(CopperGolemStatueBlock.Pose.STAR, new CopperGolemStatueModel(modelSet.bakeLayer(ModelLayers.COPPER_GOLEM_STAR)));
}
public CopperGolemStatueRenderState createRenderState() {
return new CopperGolemStatueRenderState();
}
public void extractRenderState(
CopperGolemStatueBlockEntity blockEntity,
CopperGolemStatueRenderState state,
float partialTicks,
Vec3 cameraPosition,
ModelFeatureRenderer.@Nullable CrumblingOverlay breakProgress
) {
BlockEntityRenderer.super.extractRenderState(blockEntity, state, partialTicks, cameraPosition, breakProgress);
BlockState blockState = blockEntity.getBlockState();
state.direction = blockState.getValue(CopperGolemStatueBlock.FACING);
state.pose = blockState.getValue(CopperGolemStatueBlock.POSE);
state.oxidationState = blockState.getBlock() instanceof CopperGolemStatueBlock copperGolemStatueBlock
? copperGolemStatueBlock.getWeatheringState()
: WeatheringCopper.WeatherState.UNAFFECTED;
}
public void submit(CopperGolemStatueRenderState state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState camera) {
poseStack.pushPose();
poseStack.mulPose(modelTransformation(state.direction));
CopperGolemStatueModel model = this.models.get(state.pose);
submitNodeCollector.submitModel(
model,
Unit.INSTANCE,
poseStack,
CopperGolemOxidationLevels.getOxidationLevel(state.oxidationState).texture(),
state.lightCoords,
OverlayTexture.NO_OVERLAY,
0,
state.breakProgress
);
poseStack.popPose();
}
public static Transformation modelTransformation(Direction facing) {
return TRANSFORMATIONS.get(facing);
}
private static Transformation createModelTransformation(Direction entityDirection) {
return new Transformation(new Matrix4f().translation(0.5F, 0.0F, 0.5F).rotate(Axis.YP.rotationDegrees(-entityDirection.getOpposite().toYRot())));
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
字段/构造调用/返回值 - 关联成员:
Transformation()
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
CopperGolemStatueModel()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/构造调用/返回值 - 关联成员:
CopperGolemStatueRenderState()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Util.makeEnumMap()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
CopperGolemOxidationLevels.getOxidationLevel()
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置: