34 lines
883 B
Java
34 lines
883 B
Java
|
package techreborn.util;
|
||
|
|
||
|
import net.minecraft.item.ItemStack;
|
||
|
import net.minecraftforge.oredict.OreDictionary;
|
||
|
|
||
|
/**
|
||
|
* Created by mark on 12/04/15.
|
||
|
*/
|
||
|
public class ItemUtils {
|
||
|
public static boolean isItemEqual(final ItemStack a, final ItemStack b, final boolean matchDamage, final boolean matchNBT) {
|
||
|
if (a == null || b == null)
|
||
|
return false;
|
||
|
if (a.getItem() != b.getItem())
|
||
|
return false;
|
||
|
if (matchNBT && !ItemStack.areItemStackTagsEqual(a, b))
|
||
|
return false;
|
||
|
if (matchDamage && a.getHasSubtypes()) {
|
||
|
if (isWildcard(a) || isWildcard(b))
|
||
|
return true;
|
||
|
if (a.getItemDamage() != b.getItemDamage())
|
||
|
return false;
|
||
|
}
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
public static boolean isWildcard(ItemStack stack) {
|
||
|
return isWildcard(stack.getItemDamage());
|
||
|
}
|
||
|
|
||
|
public static boolean isWildcard(int damage) {
|
||
|
return damage == -1 || damage == OreDictionary.WILDCARD_VALUE;
|
||
|
}
|
||
|
}
|