Posted September 25Sep 25 I have been trying for a while now to make a custom player renderer, and replace the vanilla player renderer with it. So far I've come up with a custom player renderer class that extends vanilla PlayerRenderer:package com.FireDude123.BOTW.entity.renderer; import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.player.AbstractClientPlayer; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.entity.player.PlayerRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraftforge.client.event.RenderPlayerEvent; import net.minecraftforge.common.MinecraftForge; public class PoseablePlayerRenderer extends PlayerRenderer { public PoseablePlayerRenderer(EntityRendererProvider.Context ctx, boolean slim) { super(ctx, slim); System.out.println("here too"); } @Override public void render(AbstractClientPlayer p_117788_, float p_117789_, float p_117790_, PoseStack poseStack, MultiBufferSource p_117792_, int p_117793_) { System.out.println("didnt get here lol"); model.leftArm.xRot=(float)Math.toRadians(160); super.render(p_117788_, p_117789_, p_117790_, poseStack, p_117792_, p_117793_); } } As you can see, the intended purpose of this is to raise the player's left arm by 160 degrees. However, combined with this logic in ClientModEvents:@Mod.EventBusSubscriber(modid = MODID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) public static class ClientModEvents { @SubscribeEvent public static void onClientSetup(FMLClientSetupEvent event) { EntityRenderers.register((EntityType<? extends AbstractClientPlayer>)(EntityType<?)EntityType.PLAYER, ctx -> new PoseablePlayerRenderer(ctx, true)); EntityRenderers.register(Entities.MAGNESIS_BLOCK.get(), com.FireDude123.BOTW.entity.renderer.BlockDisplayRenderer::new); EntityRenderers.register(Entities.REMOTE_BOMB.get(), ThrownItemRenderer::new); EntityRenderers.register(Entities.CRYONIS_ICE.get(), com.FireDude123.BOTW.entity.renderer.BlockDisplayRenderer::new); EntityRenderers.register(Entities.STASIS_BLOCK.get(), FallingBlockRenderer::new); } @SubscribeEvent public static void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerDefinitions event) { event.registerLayerDefinition(new ModelLayerLocation(new ResourceLocation(BOTW.MODID, "paraglider"), "main"), ParagliderLayer::createBodyLayer); } }(I also have a paraglider layer here for something else, it's working perfectly fine, also I used the slim setting because the player is slim in 1.20.1 forge)This logic isn't replacing the renderer, as far as I can tell. Can someone please advise as to why, and how to fix it?
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.