From f04bbb4669807bcb94ea9f9d7edab4b3e4d0ae80 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Wed, 4 Apr 2018 19:29:39 +0200 Subject: [PATCH] Fixed crash when autocompleting Ender IO recipes from JEI, fixes #1735 --- CHANGELOG.md | 2 ++ .../jei/RecipeTransferHandlerGrid.java | 18 +++++++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb145216c..efbd354bb 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ - Fixed Disk Manipulator not extracting items (ineternet) - Fixed filter slots not caring about max stack size (raoulvdberge) - Fixed model warning about Portable Grid (raoulvdberge) +- Fixed crash when autocompleting Ender IO recipes from JEI (raoulvdberge) +- Fixed Grid not always using all combinations when using JEI autocompletion (raoulvdberge) - Increased Grid performance (raoulvdberge) - Various internal refactors (raoulvdberge) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/integration/jei/RecipeTransferHandlerGrid.java b/src/main/java/com/raoulvdberge/refinedstorage/integration/jei/RecipeTransferHandlerGrid.java index 5b457240b..e970baa33 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/integration/jei/RecipeTransferHandlerGrid.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/integration/jei/RecipeTransferHandlerGrid.java @@ -60,18 +60,18 @@ public class RecipeTransferHandlerGrid implements IRecipeTransferHandler { IGuiIngredient ingredient = inputs.get(slot.getSlotIndex() + 1); if (ingredient != null) { - List possibleItems = ingredient.getAllIngredients(); - NBTTagList tags = new NBTTagList(); - for (int i = 0; i < possibleItems.size(); ++i) { - if (i >= 5) { - break; // Max 5 possible items to avoid reaching max network packet size - } + for (ItemStack possibleItem : ingredient.getAllIngredients()) { + if (possibleItem != null) { + possibleItem = possibleItem.copy(); + possibleItem.setTagCompound(possibleItem.getItem().getNBTShareTag(possibleItem)); - NBTTagCompound tag = new NBTTagCompound(); - possibleItems.get(i).writeToNBT(tag); - tags.appendTag(tag); + NBTTagCompound tag = new NBTTagCompound(); + possibleItem.writeToNBT(tag); + + tags.appendTag(tag); + } } recipe.setTag("#" + slot.getSlotIndex(), tags);