diff --git a/src/main/kotlin/xyz/alexcrea/cuanvil/listener/AnvilResultListener.kt b/src/main/kotlin/xyz/alexcrea/cuanvil/listener/AnvilResultListener.kt index 7f9ef676..b9170804 100644 --- a/src/main/kotlin/xyz/alexcrea/cuanvil/listener/AnvilResultListener.kt +++ b/src/main/kotlin/xyz/alexcrea/cuanvil/listener/AnvilResultListener.kt @@ -214,10 +214,10 @@ class AnvilResultListener : Listener { val recipe = result.recipe!! // We remove what should be removed - if (rightItem != null) { - if (recipe.rightItem == null) return false// in case it changed + if (!rightItem.isAir) { + if (recipe.rightItem.isAir) return false// in case it changed - rightItem.amount -= amount * recipe.rightItem!!.amount + rightItem!!.amount -= amount * recipe.rightItem!!.amount view.setItem(ANVIL_INPUT_RIGHT, rightItem) } diff --git a/src/main/kotlin/xyz/alexcrea/cuanvil/recipe/AnvilCustomRecipe.kt b/src/main/kotlin/xyz/alexcrea/cuanvil/recipe/AnvilCustomRecipe.kt index fd079c3a..1cd2b616 100644 --- a/src/main/kotlin/xyz/alexcrea/cuanvil/recipe/AnvilCustomRecipe.kt +++ b/src/main/kotlin/xyz/alexcrea/cuanvil/recipe/AnvilCustomRecipe.kt @@ -176,8 +176,8 @@ class AnvilCustomRecipe( CustomAnvil.verboseLog("Left item passed !") // we don't know if right item can be - if (rightItem == null) { // null test - if (item2 != null) return false + if (rightItem.isAir) { // null test + if (!item2.isAir) return false } else { val rightSimilar = rightItem!!.isSimilar(item2) CustomAnvil.verboseLog("Right similar: $rightSimilar") diff --git a/src/main/kotlin/xyz/alexcrea/cuanvil/util/CustomRecipeUtil.kt b/src/main/kotlin/xyz/alexcrea/cuanvil/util/CustomRecipeUtil.kt index 058b25ad..b8a1907a 100644 --- a/src/main/kotlin/xyz/alexcrea/cuanvil/util/CustomRecipeUtil.kt +++ b/src/main/kotlin/xyz/alexcrea/cuanvil/util/CustomRecipeUtil.kt @@ -4,6 +4,7 @@ import io.delilaheve.CustomAnvil import org.bukkit.inventory.ItemStack import xyz.alexcrea.cuanvil.config.ConfigHolder import xyz.alexcrea.cuanvil.recipe.AnvilCustomRecipe +import xyz.alexcrea.cuanvil.util.MaterialUtil.isAir import kotlin.math.min object CustomRecipeUtil { @@ -32,7 +33,7 @@ object CustomRecipeUtil { return if(recipe.exactCount) { if(leftItem.amount != recipe.leftItem!!.amount){ 0 - }else if(rightItem != null && rightItem.amount != recipe.rightItem!!.amount){ + }else if(!rightItem.isAir && rightItem!!.amount != recipe.rightItem!!.amount){ 0 }else{ 1 @@ -43,7 +44,7 @@ object CustomRecipeUtil { val resultItem = recipe.resultItem!! // we know exist as the recipe was returned to us val maxResultAmount = resultItem.maxStackSize/resultItem.amount val maxLeftAmount = leftItem.amount/recipe.leftItem!!.amount - val maxRightAmount = if(rightItem == null){ maxLeftAmount } else{ rightItem.amount/recipe.rightItem!!.amount } + val maxRightAmount = if(rightItem.isAir){ maxLeftAmount } else{ rightItem!!.amount/recipe.rightItem!!.amount } CustomAnvil.verboseLog("resultItem: $resultItem, maxResultAmount: $maxResultAmount, maxLeftAmount: $maxLeftAmount, maxRightAmount: $maxRightAmount")