Jump to content

[1.12.2] Help changing player's skin?


SapphireSky

Recommended Posts

I'm trying to make the player have a different skin under certain conditions, but for some reason the render event just isn't firing and I don't understand why.

The class is registered on the event bus exactly like another client-only class that renders an overlay perfectly fine, but this one is just not working.

 

// In main class
@EventHandler
public void init(FMLInitializationEvent event)
{
	MinecraftForge.EVENT_BUS.register(new Events()); // This works perfectly fine.
	proxy.init(event); // <-- This is the following method -v
}


// In ClientProxy
public void init(FMLInitializationEvent event)
{
	MinecraftForge.EVENT_BUS.register(new Overlay()); // <-- This works perfectly fine.
	MinecraftForge.EVENT_BUS.register(new RenderCustomPlayerEvent()); // <-- This does not work at all.
}


// RenderCustomPlayerEvent
public static final RenderCustomPlayer renderer = new RenderCustomPlayer(Minecraft.getMinecraft().getRenderManager());

@SideOnly(Side.CLIENT)
@SubscribeEvent
public static void renderPlayer(RenderLivingEvent.Pre<AbstractClientPlayer> event)
{
	Main.log("Render"); // <-- This is never even reached and functions as it should elsewhere.
	AbstractClientPlayer player = (AbstractClientPlayer) event.getEntity();
	if (player.getCapability(SoulsProvider.SOULS, null).isHollow()
			|| Tools.hasRing((EntityPlayer) event.getEntity(), Registry.dullring))
	{
		event.setCanceled(true);
		renderer.doRender(player, player.posX, player.posY, player.posZ, player.rotationYaw, event.getPartialRenderTick());
	}
}

 

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.