Class MicroBlockPartRenderer
- All Implemented Interfaces:
PartRenderer<MicroblockPart>
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionList<net.minecraft.client.renderer.block.model.BakedQuad> getQuads(MicroblockPart part, @Nullable net.minecraft.core.Direction side, net.minecraft.util.RandomSource rand, net.neoforged.neoforge.client.model.data.ModelData data, @Nullable net.minecraft.client.renderer.RenderType renderType) Get the static quads for this part, this is synonymous toIBakedModelExtension.getQuads(BlockState, Direction, RandomSource, ModelData, RenderType)voidrenderDynamic(MicroblockPart part, com.mojang.blaze3d.vertex.PoseStack pStack, net.minecraft.client.renderer.MultiBufferSource buffers, int packedLight, int packedOverlay, float partialTicks) Render the dynamic, changing faces of this part and/or other glfx.voidrenderStatic(MicroblockPart part, @Nullable net.minecraft.client.renderer.RenderType layer, codechicken.lib.render.CCRenderState ccrs) Deprecated.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface codechicken.multipart.api.part.render.PartRenderer
drawHighlight, renderBreaking
-
Field Details
-
INSTANCE
-
-
Constructor Details
-
MicroBlockPartRenderer
public MicroBlockPartRenderer()
-
-
Method Details
-
getQuads
public List<net.minecraft.client.renderer.block.model.BakedQuad> getQuads(MicroblockPart part, @Nullable @Nullable net.minecraft.core.Direction side, net.minecraft.util.RandomSource rand, net.neoforged.neoforge.client.model.data.ModelData data, @Nullable @Nullable net.minecraft.client.renderer.RenderType renderType) Description copied from interface:PartRendererGet the static quads for this part, this is synonymous toIBakedModelExtension.getQuads(BlockState, Direction, RandomSource, ModelData, RenderType)This is method may be called on the chunk batching thread. World/state access should be performed in a thread-safe manner.
It is highly recommended that parts do some form of caching for the data returned here.
The current default implementation of this method delegates to
PartRenderer.renderStatic(T, net.minecraft.client.renderer.RenderType, codechicken.lib.render.CCRenderState)andPartRenderer.renderBreaking(T, codechicken.lib.render.CCRenderState). When these methods are removed, this method will turn into a no-op.- Specified by:
getQuadsin interfacePartRenderer<MicroblockPart>- Parameters:
part- The part quads are required for.side- The side of the model requesting quads. Non-null sides will be culled if they are occluded.nullfor un-culled.rand- TheRandomSourcefor this block position.data- AnyModelDatathis part has provided viaMultiPart.getModelData().renderType- TheRenderTypepass.nullis used for breaking overlay and other special rendering (enderman, etc). Whennull, if the player is currently looking at a part, only that part will be queried for quads.- Returns:
- The quads, or an empty list.
-
renderStatic
@Deprecated public void renderStatic(MicroblockPart part, @Nullable @Nullable net.minecraft.client.renderer.RenderType layer, codechicken.lib.render.CCRenderState ccrs) Deprecated.Description copied from interface:PartRendererRender the static, unmoving faces of this part into the world renderer.The given CCRenderState is set up as follows should you wish to use it:
-
CCRenderState.reset()has been called. - The current buffer is bound toCCRenderState. - TheLightMatrixis setup and ready to use.Should you wish to not use
CCRenderStateand associated utilities. You can obtain the rawVertexConsumerfromCCRenderState.getConsumer()and theVertexFormatfromCCRenderState.getVertexFormat().If you wish to render your part as a standard
BakedModelplease seePartBakedModelRenderer.This method may be called on chunk batching threads, all operations performed here must be thread aware.
It is illegal to perform raw GL calls within this method. You will not have a valid GL context, or, a context from another thread.
- Specified by:
renderStaticin interfacePartRenderer<MicroblockPart>- Parameters:
part- TheMultiPartbeing rendered.layer- The blockRenderTypelayer being rendered.nullforPartRenderer.renderBreaking(T, codechicken.lib.render.CCRenderState)ccrs- TheCCRenderStateinstance to render with.
-
renderDynamic
public void renderDynamic(MicroblockPart part, com.mojang.blaze3d.vertex.PoseStack pStack, net.minecraft.client.renderer.MultiBufferSource buffers, int packedLight, int packedOverlay, float partialTicks) Description copied from interface:PartRendererRender the dynamic, changing faces of this part and/or other glfx.- Specified by:
renderDynamicin interfacePartRenderer<MicroblockPart>- Parameters:
part- TheMultiPartbeing rendered.pStack- ThePoseStackto apply.buffers- TheMultiBufferSourcestorage.packedLight- The packed LightMap coords to use. SeeLightTexture.packedOverlay- The packed Overlay coords to use. SeeOverlayTexture.partialTicks- The game partial ticks.
-