Interface LivingEntityRenderLayerRegistrationCallback

Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface LivingEntityRenderLayerRegistrationCallback
Called when render layers for a living entity renderer are registered.

Render layers are typically used for rendering additional objects on an entity, such as armor, an elytra or Deadmau5's ears. This callback lets developers add additional render layers for use in entity rendering. Listeners should filter out the specific entity renderer they want to hook into, usually through instanceof checks or filtering by entity type. Once listeners find a suitable entity renderer, they should register their render layer via the registration helper.

For example, to register a render layer for a player model, the example below may be used:

LivingEntityRenderLayerRegistrationCallback.EVENT.register((entityType, entityRenderer, registrationHelper) -> {
        if (entityRenderer instanceof AvatarRenderer<?> avatarEntityRenderer) {
                registrationHelper.register(new MyRenderLayer(avatarEntityRenderer, context.getModelSet()));
        }
});
  • Field Details

  • Method Details

    • registerLayers

      void registerLayers(net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.LivingEntity> entityType, net.minecraft.client.renderer.entity.LivingEntityRenderer<?,?,?> entityRenderer, LivingEntityRenderLayerRegistrationCallback.RegistrationHelper registrationHelper, net.minecraft.client.renderer.entity.EntityRendererProvider.Context context)
      Called when render layers may be registered.
      Parameters:
      entityType - the entity type of the renderer
      entityRenderer - the entity renderer