From d781eb3c62bd969bf587311abf1770d91702e8e1 Mon Sep 17 00:00:00 2001 From: Vexatos Date: Thu, 11 May 2017 20:33:47 +0200 Subject: [PATCH] Improved JEI recipe assembly. Fixes #2375. Not sure why it was never an issue before 1.11. --- .../li/cil/oc/integration/jei/CallbackDocHandler.scala | 6 ++---- .../li/cil/oc/integration/jei/ManualUsageHandler.scala | 8 ++++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/scala/li/cil/oc/integration/jei/CallbackDocHandler.scala b/src/main/scala/li/cil/oc/integration/jei/CallbackDocHandler.scala index f286b9163..1bbe39ddc 100644 --- a/src/main/scala/li/cil/oc/integration/jei/CallbackDocHandler.scala +++ b/src/main/scala/li/cil/oc/integration/jei/CallbackDocHandler.scala @@ -31,7 +31,7 @@ object CallbackDocHandler { private val VexPattern = """(?s)^function(\(.*?\).*?); (.*)$""".r - def getRecipes(registry: IModRegistry): util.List[_] = registry.getItemRegistry.getItemList.collect { + def getRecipes(registry: IModRegistry): util.List[CallbackDocRecipe] = registry.getItemRegistry.getItemList.collect { case stack: ItemStack => val callbacks = api.Driver.environmentsFor(stack).flatMap(getCallbacks).toBuffer @@ -68,9 +68,7 @@ object CallbackDocHandler { Option(pages.map(page => new CallbackDocRecipe(stack, page))) } else None - }.collect { - case Some(handler) => handler - }.flatten.toList + }.flatten.flatten.toList private def getCallbacks(env: Class[_]) = if (env != null) { diff --git a/src/main/scala/li/cil/oc/integration/jei/ManualUsageHandler.scala b/src/main/scala/li/cil/oc/integration/jei/ManualUsageHandler.scala index 8f329f90a..75e1199ee 100644 --- a/src/main/scala/li/cil/oc/integration/jei/ManualUsageHandler.scala +++ b/src/main/scala/li/cil/oc/integration/jei/ManualUsageHandler.scala @@ -22,12 +22,12 @@ import scala.collection.convert.WrapAsScala._ object ManualUsageHandler { - def getRecipes(registry: IModRegistry): util.List[_] = registry.getItemRegistry.getItemList.collect { + def getRecipes(registry: IModRegistry): util.List[ManualUsageRecipe] = registry.getItemRegistry.getItemList.collect { case stack: ItemStack => api.Manual.pathFor(stack) match { - case s: String => new ManualUsageRecipe(stack, s) - case _ => + case s: String => Option(new ManualUsageRecipe(stack, s)) + case _ => None } - } + }.flatten.toList object ManualUsageRecipeHandler extends IRecipeHandler[ManualUsageRecipe] { override def getRecipeWrapper(recipe: ManualUsageRecipe) = recipe