package joshie.progression.criteria.triggers;
import joshie.progression.api.ProgressionAPI;
import joshie.progression.api.criteria.IField;
import joshie.progression.api.criteria.IFilterProvider;
import joshie.progression.api.criteria.IFilterType;
import joshie.progression.api.special.DisplayMode;
import joshie.progression.api.special.ISpecialFieldProvider;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import java.util.List;
public abstract class TriggerBaseBlock extends TriggerBaseItemFilter implements ISpecialFieldProvider {
@Override
public void addSpecialFields(List<IField> fields, DisplayMode mode) {
if (mode == DisplayMode.EDIT) fields.add(ProgressionAPI.fields.getItemPreview(this, "filters", 30, 35, 1.9F));
else fields.add(ProgressionAPI.fields.getItemPreview(this, "filters", 65, 35, 1.9F));
}
@Override
protected boolean canIncrease(Object... data) {
Block theBlock = (Block) data[0];
int theMeta = (Integer) data[1];
for (IFilterProvider filter : filters) {
if (filter.getProvided().matches(new ItemStack(theBlock, theMeta))) return true;
}
return false;
}
@Override
public IFilterType getFilterForField(String fieldName) {
return ProgressionAPI.filters.getBlockFilter();
}
}