From add65a0f65f14cea2490570d006ee0a939ae37ff Mon Sep 17 00:00:00 2001 From: payonel Date: Wed, 21 Feb 2018 11:36:31 -0800 Subject: [PATCH] stop crafting when craft result changes closes #2054 --- .../scala/li/cil/oc/server/component/UpgradeCrafting.scala | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeCrafting.scala b/src/main/scala/li/cil/oc/server/component/UpgradeCrafting.scala index 10f949dc2..7a42bf52f 100644 --- a/src/main/scala/li/cil/oc/server/component/UpgradeCrafting.scala +++ b/src/main/scala/li/cil/oc/server/component/UpgradeCrafting.scala @@ -56,11 +56,14 @@ class UpgradeCrafting(val host: EnvironmentHost with internal.Robot) extends pre load() val cm = CraftingManager.getInstance var countCrafted = 0 - val canCraft = cm.findMatchingRecipe(CraftingInventory, host.world) != null + val originalCraft = cm.findMatchingRecipe(CraftingInventory, host.world) breakable { while (countCrafted < wantedCount) { val result = cm.findMatchingRecipe(CraftingInventory, host.world) if (result == null || result.stackSize < 1) break() + if (!originalCraft.isItemEqual(result)) { + break() + } countCrafted += result.stackSize FMLCommonHandler.instance.firePlayerCraftingEvent(host.player, result, this) val surplus = mutable.ArrayBuffer.empty[ItemStack] @@ -91,7 +94,7 @@ class UpgradeCrafting(val host: EnvironmentHost with internal.Robot) extends pre load() } } - Seq(canCraft, countCrafted) + Seq(originalCraft != null, countCrafted) } def load() {