From 7fa7502770b62fe8177331b1f8fa5f91c0fc7a47 Mon Sep 17 00:00:00 2001 From: yueh Date: Mon, 18 May 2015 17:52:56 +0200 Subject: [PATCH] Fixes #1465 faulty item comparison --- .../appeng/core/features/WrappedDamageItemDefinition.java | 5 ++++- src/main/java/appeng/recipes/game/DisassembleRecipe.java | 2 +- src/main/java/appeng/util/Platform.java | 8 ++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/appeng/core/features/WrappedDamageItemDefinition.java b/src/main/java/appeng/core/features/WrappedDamageItemDefinition.java index ff7973c8..dcc127de 100644 --- a/src/main/java/appeng/core/features/WrappedDamageItemDefinition.java +++ b/src/main/java/appeng/core/features/WrappedDamageItemDefinition.java @@ -85,7 +85,10 @@ public final class WrappedDamageItemDefinition implements ITileDefinition return false; } - return this.definition.isSameAs( comparableStack ) && comparableStack.getItemDamage() == this.damage; + final boolean sameItem = this.definition.isSameAs( new ItemStack( comparableStack.getItem() ) ); + final boolean sameDamage = comparableStack.getItemDamage() == this.damage; + + return sameItem && sameDamage; } @Override diff --git a/src/main/java/appeng/recipes/game/DisassembleRecipe.java b/src/main/java/appeng/recipes/game/DisassembleRecipe.java index 7478bd3c..4b3023f9 100644 --- a/src/main/java/appeng/recipes/game/DisassembleRecipe.java +++ b/src/main/java/appeng/recipes/game/DisassembleRecipe.java @@ -93,7 +93,7 @@ public final class DisassembleRecipe implements IRecipe { // needs a single input in the recipe itemCount++; - if ( itemCount > 1 ) + if( itemCount > 1 ) { return MISMATCHED_STACK; } diff --git a/src/main/java/appeng/util/Platform.java b/src/main/java/appeng/util/Platform.java index e83aa442..204fce80 100644 --- a/src/main/java/appeng/util/Platform.java +++ b/src/main/java/appeng/util/Platform.java @@ -1858,15 +1858,15 @@ public class Platform return null; } - public static boolean isSameItemType( ItemStack ol, ItemStack op ) + public static boolean isSameItemType( ItemStack that, ItemStack other ) { - if( ol != null && op != null && ol.getItem() == op.getItem() ) + if( that != null && other != null && that.getItem() == other.getItem() ) { - if( ol.isItemStackDamageable() ) + if( that.isItemStackDamageable() ) { return true; } - return ol.getItemDamage() == ol.getItemDamage(); + return that.getItemDamage() == other.getItemDamage(); } return false; }