Skip to content

Commit

Permalink
#310 Add better crash message when getting a null bakedModel
Browse files Browse the repository at this point in the history
  • Loading branch information
mezz committed Jun 9, 2016
1 parent 61c64b3 commit ab8bb32
Showing 1 changed file with 17 additions and 12 deletions.
29 changes: 17 additions & 12 deletions src/main/java/mezz/jei/gui/ingredients/GuiItemStackFastList.java
@@ -1,10 +1,15 @@
package mezz.jei.gui.ingredients;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;

import mezz.jei.gui.Focus;
import mezz.jei.util.ErrorUtil;
import mezz.jei.util.ItemStackElement;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.ItemModelMesher;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.RenderItem;
import net.minecraft.client.renderer.block.model.IBakedModel;
Expand All @@ -13,11 +18,6 @@
import net.minecraft.item.ItemStack;
import org.lwjgl.opengl.GL11;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;

public class GuiItemStackFastList {
private final List<GuiItemStackFast> renderItemsAll = new ArrayList<>();
private final List<GuiItemStackFast> renderItemsBuiltIn = new ArrayList<>();
Expand Down Expand Up @@ -52,13 +52,18 @@ public void set(int i, List<ItemStackElement> itemList) {
} else {
ItemStack stack = itemList.get(i).getItemStack();
IBakedModel bakedModel = renderItem.getItemModelWithOverrides(stack, null, null);
guiItemStack.setItemStack(stack);
if (bakedModel.isBuiltInRenderer()) {
renderItemsBuiltIn.add(guiItemStack);
} else if (bakedModel.isGui3d()) {
renderItems3d.add(guiItemStack);
if (bakedModel == null) {
String stackInfo = ErrorUtil.getItemStackInfo(stack);
throw new NullPointerException("ItemStack returned null IBakedModel from RenderItem.getItemModelWithOverrides(stack, null, null). " + stackInfo);
} else {
renderItems2d.add(guiItemStack);
guiItemStack.setItemStack(stack);
if (bakedModel.isBuiltInRenderer()) {
renderItemsBuiltIn.add(guiItemStack);
} else if (bakedModel.isGui3d()) {
renderItems3d.add(guiItemStack);
} else {
renderItems2d.add(guiItemStack);
}
}
}
i++;
Expand Down

0 comments on commit ab8bb32

Please sign in to comment.