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.IItemGetterCallback;
import joshie.progression.api.special.ISetterCallback;
import joshie.progression.api.special.ISpecialFieldProvider;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import java.util.List;
@ProgressionRule(name="itemOnly", color=0xFFCCCCCC)
public class FilterItem extends FilterBaseItem implements IItemGetterCallback, ISetterCallback, ISpecialFieldProvider {
public Item item = Items.BEEF;
@Override
public void addSpecialFields(List<IField> fields, DisplayMode mode) {
if (mode == DisplayMode.EDIT) fields.add(ProgressionAPI.fields.getItem(this, "item", 25, 25, 3F));
}
@Override
public boolean matches(ItemStack check) {
return item == check.getItem();
}
@Override
public ItemStack getItem(String fieldName) {
return new ItemStack(item);
}
@Override
public boolean setField(String fieldName, Object stack) {
item = ((ItemStack) stack).getItem();
return true;
}
}