Fix dupe on exact count custom recipe.

This commit is contained in:
alexcrea 2024-04-07 04:29:40 +02:00
parent a646d5ab02
commit fe28e27285

View file

@ -263,7 +263,8 @@ class AnvilEventListener : Listener {
// Then we try to find the new values for the anvil // Then we try to find the new values for the anvil
val newAmount = getCustomRecipeAmount(recipe, leftItem, rightItem) val newAmount = getCustomRecipeAmount(recipe, leftItem, rightItem)
if(newAmount <= 0){ CustomAnvil.verboseLog("new amount is $newAmount")
if(newAmount <= 0 || recipe.exactCount){
inventory.setItem(ANVIL_OUTPUT_SLOT, null) inventory.setItem(ANVIL_OUTPUT_SLOT, null)
}else{ }else{
val resultItem: ItemStack = recipe.resultItem!!.clone() val resultItem: ItemStack = recipe.resultItem!!.clone()
@ -481,7 +482,15 @@ class AnvilEventListener : Listener {
leftItem: ItemStack, leftItem: ItemStack,
rightItem: ItemStack? rightItem: ItemStack?
): Int{ ): Int{
return if(recipe.exactCount) { 1 } return if(recipe.exactCount) {
if(leftItem.amount != recipe.leftItem!!.amount){
0
}else if(rightItem != null && rightItem.amount != recipe.rightItem!!.amount){
0
}else{
1
}
}
else { else {
// test amount // test amount
val resultItem = recipe.resultItem!! // we know exist as the recipe was returned to us val resultItem = recipe.resultItem!! // we know exist as the recipe was returned to us