package joshie.progression.criteria.filters.block; 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.block.Block; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import java.util.List; @ProgressionRule(name="blockOnly", color=0xFFCCCCCC) public class FilterBlock extends FilterBaseBlock implements IItemGetterCallback, ISetterCallback, ISpecialFieldProvider { public Block filterBlock = Blocks.SANDSTONE; @Override public void addSpecialFields(List<IField> fields, DisplayMode mode) { if (mode == DisplayMode.EDIT) fields.add(ProgressionAPI.fields.getItem(this, "filterBlock", 25, 25, 3F)); } @Override protected boolean matches(Block block, int meta) { return filterBlock == block; } @Override public ItemStack getItem(String fieldName) { return new ItemStack(filterBlock); } @Override public boolean setField(String fieldName, Object stack) { try { filterBlock = getBlock(((ItemStack) stack)); } catch (Exception e) {} return true; } }