package joshie.progression.criteria.filters.item;
import joshie.progression.api.ProgressionAPI;
import joshie.progression.api.criteria.IField;
import joshie.progression.api.criteria.ProgressionRule;
import joshie.progression.api.special.DisplayMode;
import joshie.progression.api.special.ISpecialFieldProvider;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import java.util.List;
@ProgressionRule(name="itemStack", color=0xFF663300)
public class FilterItemStack extends FilterBaseItem implements ISpecialFieldProvider {
public ItemStack stack = new ItemStack(Items.CARROT);
public boolean matchDamage = true;
public boolean matchNBT = false;
@Override
public void addSpecialFields(List<IField> fields, DisplayMode mode) {
if (mode == DisplayMode.EDIT)
fields.add(ProgressionAPI.fields.getItem(this, "stack", 30, 35, 1.4F));
}
@Override
public ItemStack getRandom(EntityPlayer player) {
return stack.copy();
}
@Override
public boolean matches(ItemStack check) {
if (stack.getItem() != check.getItem()) return false;
if (matchDamage && (stack.getItemDamage() != check.getItemDamage())) return false;
if (matchNBT) {
if (!stack.hasTagCompound() && check.hasTagCompound()) return false;
if (stack.hasTagCompound() && !stack.getTagCompound().equals(check.getTagCompound())) return false;
}
return true;
}
}