From 40de19f16ed4741cbd65483f83c12630188c18cc Mon Sep 17 00:00:00 2001 From: bl4ckscor3 Date: Thu, 19 Dec 2019 06:56:01 +0100 Subject: [PATCH] Fix game crashing when modded entities are present (#6364) --- .../entity/EntityRendererManager.java.patch | 19 ++++++++++++++++++- .../client/registry/RenderingRegistry.java | 1 + 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/patches/minecraft/net/minecraft/client/renderer/entity/EntityRendererManager.java.patch b/patches/minecraft/net/minecraft/client/renderer/entity/EntityRendererManager.java.patch index 407ebd518..268b1a4d0 100644 --- a/patches/minecraft/net/minecraft/client/renderer/entity/EntityRendererManager.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/entity/EntityRendererManager.java.patch @@ -1,6 +1,23 @@ --- a/net/minecraft/client/renderer/entity/EntityRendererManager.java +++ b/net/minecraft/client/renderer/entity/EntityRendererManager.java -@@ -445,4 +445,8 @@ +@@ -183,13 +183,15 @@ + this.field_178637_m = new PlayerRenderer(this); + this.field_178636_l.put("default", this.field_178637_m); + this.field_178636_l.put("slim", new PlayerRenderer(this, true)); ++ } + ++ //FORGE: Validate the existence of a renderer for each entity type after modded entity renderers have been added ++ public void validateRendererExistence() { + for(EntityType entitytype : Registry.field_212629_r) { + if (entitytype != EntityType.field_200729_aH && !this.field_78729_o.containsKey(entitytype)) { + throw new IllegalStateException("No renderer registered for " + Registry.field_212629_r.func_177774_c(entitytype)); + } + } +- + } + + public EntityRenderer func_78713_a(T p_78713_1_) { +@@ -445,4 +447,8 @@ public FontRenderer func_78716_a() { return this.field_78736_p; } diff --git a/src/main/java/net/minecraftforge/fml/client/registry/RenderingRegistry.java b/src/main/java/net/minecraftforge/fml/client/registry/RenderingRegistry.java index 3655e20bf..4ea238a61 100644 --- a/src/main/java/net/minecraftforge/fml/client/registry/RenderingRegistry.java +++ b/src/main/java/net/minecraftforge/fml/client/registry/RenderingRegistry.java @@ -47,6 +47,7 @@ public class RenderingRegistry public static void loadEntityRenderers(EntityRendererManager manager) { INSTANCE.entityRenderers.forEach((key, value) -> register(manager, key, value)); + manager.validateRendererExistence(); } @SuppressWarnings("unchecked")