Skip to content

Commit

Permalink
Fix duplicate items when they are added by a mod at runtime from the API
Browse files Browse the repository at this point in the history
  • Loading branch information
mezz committed Oct 21, 2017
1 parent 48c6e11 commit 4937b44
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions src/main/java/mezz/jei/ingredients/IngredientRegistry.java
Expand Up @@ -165,15 +165,20 @@ public <V> void addIngredientsAtRuntime(Class<V> ingredientClass, List<V> ingred
IIngredientHelper<V> ingredientHelper = getIngredientHelper(ingredientClass);
//noinspection unchecked
Set<V> set = ingredientsMap.computeIfAbsent(ingredientClass, k -> IngredientSet.create(ingredientClass, ingredientHelper));
List<V> newIngredients = new ArrayList<>(ingredients.size());
for (V ingredient : ingredients) {
set.add(ingredient);
if (set.add(ingredient)) {
newIngredients.add(ingredient);
}
if (ingredient instanceof ItemStack) {
getStackProperties((ItemStack) ingredient);
}
}

NonNullList<IIngredientListElement> ingredientListElements = IngredientListElementFactory.createList(this, ingredientClass, ingredients, modIdHelper);
ingredientFilter.addIngredients(ingredientListElements);
if (!newIngredients.isEmpty()) {
NonNullList<IIngredientListElement> ingredientListElements = IngredientListElementFactory.createList(this, ingredientClass, newIngredients, modIdHelper);
ingredientFilter.addIngredients(ingredientListElements);
}
}

@Override
Expand Down

0 comments on commit 4937b44

Please sign in to comment.