package mezz.jei.api;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.Set;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
public interface INbtIgnoreList {
/**
* Tell JEI to ignore NBT tags on a specific item when comparing items for recipes.
* @since JEI 2.22.0, NBT is automatically ignored on items that don't have subtypes.
*/
void ignoreNbtTagNames(@Nonnull Item item, String... nbtTagNames);
/**
* Tell JEI to ignore NBT tags when comparing items for recipes.
* To avoid nbt conflicts with other mods, use the item-specific version.
*/
void ignoreNbtTagNames(String... nbtTagNames);
/**
* Get NBT from an itemStack, minus the NBT that is being ignored.
* Returns null if the itemStack has no NBT or the resulting NBT would be empty.
* @since JEI 2.16.0
*/
@Nullable
NBTTagCompound getNbt(@Nonnull ItemStack itemStack);
/**
* Check to see if an NBT tag is ignored.
* @deprecated since JEI 2.25.0, use getNbt
*/
@Deprecated
boolean isNbtTagIgnored(@Nonnull String nbtTagName);
/**
* Get all the ignored tag names out of a set of NBT tag names.
* @deprecated since JEI 2.16.0. use getNbt
*/
@Deprecated
@Nonnull
Set<String> getIgnoredNbtTags(@Nonnull Set<String> nbtTagNames);
}