From 1f94189ef5ec16939bf93f2fff3bdbd3ce9fee1f Mon Sep 17 00:00:00 2001 From: mezz Date: Sun, 15 Jul 2018 21:58:48 -0700 Subject: [PATCH] Use singletonList for single subtypes --- .../jei/plugins/vanilla/furnace/FuelRecipeMaker.java | 12 ++++++++---- src/main/java/mezz/jei/startup/StackHelper.java | 4 +--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/java/mezz/jei/plugins/vanilla/furnace/FuelRecipeMaker.java b/src/main/java/mezz/jei/plugins/vanilla/furnace/FuelRecipeMaker.java index 380428c3e..57b2129c4 100644 --- a/src/main/java/mezz/jei/plugins/vanilla/furnace/FuelRecipeMaker.java +++ b/src/main/java/mezz/jei/plugins/vanilla/furnace/FuelRecipeMaker.java @@ -1,7 +1,6 @@ package mezz.jei.plugins.vanilla.furnace; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import it.unimi.dsi.fastutil.ints.Int2BooleanArrayMap; @@ -27,10 +26,15 @@ public static List getFuelRecipes(IIngredientRegistry ingredientRegi List fuelRecipes = new ArrayList<>(fuelStacks.size()); for (ItemStack fuelStack : fuelStacks) { int burnTime = TileEntityFurnace.getItemBurnTime(fuelStack); - List fuels = stackHelper.getSubtypes(fuelStack); - fuels.removeIf(itemStack -> TileEntityFurnace.getItemBurnTime(itemStack) != burnTime); + List subtypes = stackHelper.getSubtypes(fuelStack); + List fuels = new ArrayList<>(); + for (ItemStack subtype : subtypes) { + if (TileEntityFurnace.getItemBurnTime(subtype) == burnTime) { + fuels.add(subtype); + } + } if (fuels.isEmpty()) { - fuels = Collections.singletonList(fuelStack); + fuels.add(fuelStack); } if (fuels.size() <= 1) { int[] oreIDs = OreDictionary.getOreIDs(fuelStack); diff --git a/src/main/java/mezz/jei/startup/StackHelper.java b/src/main/java/mezz/jei/startup/StackHelper.java index 5b3023914..ef2cfd3e3 100644 --- a/src/main/java/mezz/jei/startup/StackHelper.java +++ b/src/main/java/mezz/jei/startup/StackHelper.java @@ -215,9 +215,7 @@ public List getSubtypes(@Nullable ItemStack itemStack) { } if (itemStack.getItemDamage() != OreDictionary.WILDCARD_VALUE) { - List subtypes = new ArrayList<>(); - subtypes.add(itemStack); - return subtypes; + return Collections.singletonList(itemStack); } return getSubtypes(itemStack.getItem(), itemStack.getCount());