From f36781652c7bc5a0e44f1baba9bc79b6db31dd50 Mon Sep 17 00:00:00 2001 From: Jonathing Date: Thu, 22 May 2025 03:47:40 -0400 Subject: [PATCH] Deprecate EntityRenderersEvent.AddLayers functions that hard case to LivingEntityRenderers as the backing maps do not guarantee that type. (#10513) Co-authored-by: LexManos --- .../client/event/EntityRenderersEvent.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraftforge/client/event/EntityRenderersEvent.java b/src/main/java/net/minecraftforge/client/event/EntityRenderersEvent.java index 1d05344889..c3c95073cc 100644 --- a/src/main/java/net/minecraftforge/client/event/EntityRenderersEvent.java +++ b/src/main/java/net/minecraftforge/client/event/EntityRenderersEvent.java @@ -172,11 +172,18 @@ public abstract class EntityRenderersEvent extends Event implements IModBusEvent * @return the skin renderer, or {@code null} if no renderer is registered for that skin name * @see #getSkins() */ + @SuppressWarnings("unchecked") + public > @Nullable R getPlayerSkin(String skinName) + { + return (R) skinMap.get(skinName); + } + + /** @deprecated Use getEntitySkin, return type down graded to EntityRenderer instead of LivingEntityRenderer */ @Nullable @SuppressWarnings("unchecked") public >> R getSkin(String skinName) { - return (R) skinMap.get(skinName); + return skinMap.get(skinName) instanceof LivingEntityRenderer renderer ? (R) renderer : null; } /** @@ -187,11 +194,18 @@ public abstract class EntityRenderersEvent extends Event implements IModBusEvent * @param the type of the renderer * @return the renderer, or {@code null} if no renderer is registered for that entity type */ + @SuppressWarnings("unchecked") + public > @Nullable R getEntityRenderer(EntityType entityType) + { + return (R) renderers.get(entityType); + } + + /** @deprecated Use getEntityRenderer, return type down graded to EntityRenderer instead of LivingEntityRenderer */ @Nullable @SuppressWarnings("unchecked") public >> R getRenderer(EntityType entityType) { - return (R) renderers.get(entityType); + return renderers.get(entityType) instanceof LivingEntityRenderer renderer ? (R) renderer : null; } /**