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;
}
}