Posted August 15, 20241 yr Hello, I want to make it so that a certain part of my mob model is rendered as a portal to the end. Using the second layer I was able to render a second model with the portal effect, but I don't need the whole model. How to fix this? (This is a test mob, I want to render its head as a portal). Current code: Constructor of Renderer public MegovidRenderer(EntityRendererProvider.Context pContext) { super(pContext, new MegovidModel<>(pContext.bakeLayer(ModModelLayers.MEGOVID_LAYER)), 0.5f); this.addLayer(new MegovidHeadRenderer(this)); } Register renderer @SubscribeEvent public static void onClientSetup(FMLClientSetupEvent event) { EntityRenderers.register(ModEntities.MEGOVID.get(), MegovidRenderer::new); } HeadRenderer public class MegovidHeadRenderer<T extends LivingEntity> extends RenderLayer<T, MegovidModel<T>> { private static final RenderType GATEWAY = RenderType.endGateway(); public MegovidHeadRenderer(RenderLayerParent<T, MegovidModel<T>> pRenderer) { super(pRenderer); } @Override public void render(PoseStack poseStack, MultiBufferSource multiBufferSource, int i, T t, float v, float v1, float v2, float v3, float v4, float v5) { poseStack.pushPose(); poseStack.translate(0,-2,0); this.getParentModel().renderToBuffer( poseStack, multiBufferSource.getBuffer(this.renderType()), 15728640, OverlayTexture.NO_OVERLAY, 1.0F, 1.0F, 1.0F, 1.0F); poseStack.popPose(); } private RenderType renderType() { return GATEWAY; } } Result: Edited August 16, 20241 yr by Sam__Wilde Solved
August 15, 20241 yr I know this is not help but this is such a cool idea! I would play this mod in a heartbeat hopefully you can get it fixed 😢
August 16, 20241 yr Author I figured out how to solve this problem. You need to make a custom renderToBuffer in the model file. Current Code: HeadRenderer public class MegovidHeadRenderer<T extends LivingEntity> extends RenderLayer<T, MegovidModel<T>> { private static final RenderType GATEWAY = RenderType.endGateway(); public MegovidHeadRenderer(RenderLayerParent<T, MegovidModel<T>> pRenderer) { super(pRenderer); } @Override public void render(PoseStack poseStack, MultiBufferSource multiBufferSource, int i, T t, float v, float v1, float v2, float v3, float v4, float v5) { this.getParentModel().renderToBufferCUSTOM( poseStack, multiBufferSource.getBuffer(GATEWAY), 15728640, OverlayTexture.NO_OVERLAY, 1.0F, 1.0F, 1.0F, 1.0F); } } Model file public void renderToBufferCUSTOM(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { poseStack.translate(0,1.5,0); head.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); } Result:
August 16, 20241 yr Awesome, if its possible please tell me when this will be released this is so cool!
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.