diff --git a/Library/src/main/java/mezz/jei/library/plugins/vanilla/anvil/AnvilRecipeMaker.java b/Library/src/main/java/mezz/jei/library/plugins/vanilla/anvil/AnvilRecipeMaker.java index 16e007bf5..519fd53e5 100644 --- a/Library/src/main/java/mezz/jei/library/plugins/vanilla/anvil/AnvilRecipeMaker.java +++ b/Library/src/main/java/mezz/jei/library/plugins/vanilla/anvil/AnvilRecipeMaker.java @@ -115,16 +115,16 @@ private static Stream getBookEnchantmentRecipes( ItemStack ingredient ) { var ingredientSingletonList = List.of(ingredient); + String ingredientId = EnchantedBookSubtypeInterpreter.INSTANCE.getStringName(ingredient); + String ingredientIdPath = ResourceLocationUtil.sanitizePath(ingredientId); + String id = "enchantment." + ingredientIdPath; + ResourceLocation uid = ResourceLocation.fromNamespaceAndPath(ModIds.MINECRAFT_ID, id); return enchantmentDatas.stream() .filter(data -> data.canEnchant(ingredient)) .map(data -> data.getEnchantedBooks(ingredient)) .filter(enchantedBooks -> !enchantedBooks.isEmpty()) .map(enchantedBooks -> { List outputs = getEnchantedIngredients(ingredient, enchantedBooks); - String ingredientId = EnchantedBookSubtypeInterpreter.INSTANCE.getStringName(ingredient); - String ingredientIdPath = ResourceLocationUtil.sanitizePath(ingredientId); - String id = "enchantment." + ingredientIdPath; - ResourceLocation uid = ResourceLocation.fromNamespaceAndPath(ModIds.MINECRAFT_ID, id); // All lists given here are immutable, and we want to keep the transforming list from outputs, // so we call the AnvilRecipe constructor directly return new AnvilRecipe(ingredientSingletonList, enchantedBooks, outputs, uid);