Class BeaconRenderer<T extends BlockEntity & BeaconBeamOwner>
java.lang.Object
net.minecraft.client.renderer.blockentity.BeaconRenderer<T>
- All Implemented Interfaces:
BlockEntityRenderer<T, BeaconRenderState>, IBlockEntityRendererExtension<T>
public class BeaconRenderer<T extends BlockEntity & BeaconBeamOwner>
extends Object
implements BlockEntityRenderer<T, BeaconRenderState>
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final floatstatic final Identifierprivate static final floatstatic final intstatic final float -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidaddVertex(PoseStack.Pose pose, VertexConsumer builder, int color, int y, float x, float z, float u, float v) static <T extends BlockEntity & BeaconBeamOwner>
voidextract(T blockEntity, BeaconRenderState state, float partialTicks, Vec3 cameraPosition) voidextractRenderState(T blockEntity, BeaconRenderState state, float partialTicks, Vec3 cameraPosition, @Nullable ModelFeatureRenderer.CrumblingOverlay breakProgress) getRenderBoundingBox(T blockEntity) Return anAABBthat controls the visible scope of thisBlockEntityRenderer.intprivate static voidrenderPart(PoseStack.Pose pose, VertexConsumer builder, int color, int beamStart, int beamEnd, float wnx, float wnz, float enx, float enz, float wsx, float wsz, float esx, float esz, float uu1, float uu2, float vv1, float vv2) private static voidrenderQuad(PoseStack.Pose pose, VertexConsumer builder, int color, int beamStart, int beamEnd, float wnx, float wnz, float enx, float enz, float uu1, float uu2, float vv1, float vv2) booleanshouldRender(T blockEntity, Vec3 cameraPosition) booleanvoidsubmit(BeaconRenderState state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState camera) private static voidsubmitBeaconBeam(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, float beamRadiusScale, float animationTime, int beamStart, int height, int color) static voidsubmitBeaconBeam(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, Identifier beamLocation, float scale, float animationTime, int beamStart, int height, int color, float solidBeamRadius, float beamGlowRadius)
-
Field Details
-
BEAM_LOCATION
-
MAX_RENDER_Y
public static final int MAX_RENDER_Y- See Also:
-
BEAM_SCALE_THRESHOLD
private static final float BEAM_SCALE_THRESHOLD- See Also:
-
SOLID_BEAM_RADIUS
public static final float SOLID_BEAM_RADIUS- See Also:
-
BEAM_GLOW_RADIUS
public static final float BEAM_GLOW_RADIUS- See Also:
-
-
Constructor Details
-
BeaconRenderer
public BeaconRenderer()
-
-
Method Details
-
createRenderState
- Specified by:
createRenderStatein interfaceBlockEntityRenderer<T extends BlockEntity & BeaconBeamOwner, BeaconRenderState>
-
extractRenderState
public void extractRenderState(T blockEntity, BeaconRenderState state, float partialTicks, Vec3 cameraPosition, @Nullable ModelFeatureRenderer.CrumblingOverlay breakProgress) - Specified by:
extractRenderStatein interfaceBlockEntityRenderer<T extends BlockEntity & BeaconBeamOwner, BeaconRenderState>
-
extract
public static <T extends BlockEntity & BeaconBeamOwner> void extract(T blockEntity, BeaconRenderState state, float partialTicks, Vec3 cameraPosition) -
submit
public void submit(BeaconRenderState state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState camera) - Specified by:
submitin interfaceBlockEntityRenderer<T extends BlockEntity & BeaconBeamOwner, BeaconRenderState>
-
submitBeaconBeam
private static void submitBeaconBeam(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, float beamRadiusScale, float animationTime, int beamStart, int height, int color) -
submitBeaconBeam
public static void submitBeaconBeam(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, Identifier beamLocation, float scale, float animationTime, int beamStart, int height, int color, float solidBeamRadius, float beamGlowRadius) -
renderPart
private static void renderPart(PoseStack.Pose pose, VertexConsumer builder, int color, int beamStart, int beamEnd, float wnx, float wnz, float enx, float enz, float wsx, float wsz, float esx, float esz, float uu1, float uu2, float vv1, float vv2) -
renderQuad
private static void renderQuad(PoseStack.Pose pose, VertexConsumer builder, int color, int beamStart, int beamEnd, float wnx, float wnz, float enx, float enz, float uu1, float uu2, float vv1, float vv2) -
addVertex
private static void addVertex(PoseStack.Pose pose, VertexConsumer builder, int color, int y, float x, float z, float u, float v) -
shouldRenderOffScreen
public boolean shouldRenderOffScreen()- Specified by:
shouldRenderOffScreenin interfaceBlockEntityRenderer<T extends BlockEntity & BeaconBeamOwner, BeaconRenderState>
-
getViewDistance
public int getViewDistance()- Specified by:
getViewDistancein interfaceBlockEntityRenderer<T extends BlockEntity & BeaconBeamOwner, BeaconRenderState>
-
shouldRender
- Specified by:
shouldRenderin interfaceBlockEntityRenderer<T extends BlockEntity & BeaconBeamOwner, BeaconRenderState>
-
getRenderBoundingBox
Description copied from interface:IBlockEntityRendererExtensionReturn anAABBthat controls the visible scope of thisBlockEntityRenderer. Defaults to the unit cube at the given position.AABB.INFINITEcan be used to declare the BER should be visible everywhere.- Specified by:
getRenderBoundingBoxin interfaceIBlockEntityRendererExtension<T extends BlockEntity & BeaconBeamOwner>- Returns:
- an appropriately sized
AABBfor theBlockEntityRenderer
-