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; } /**