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?
By FireDude123 · Posted 15 hours ago 15 hr