package joshie.progression.criteria.filters.action;
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.ICustomDescription;
import joshie.progression.api.special.ICustomWidth;
import joshie.progression.api.special.ISpecialFieldProvider;
import joshie.progression.crafting.ActionType;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import java.util.List;
@ProgressionRule(name="exact", color=0xFF663300)
public class FilterExact extends FilterBaseAction implements ICustomWidth, ICustomDescription, ISpecialFieldProvider {
public ItemStack stack = new ItemStack(Blocks.CRAFTING_TABLE);
@Override
public int getWidth(DisplayMode mode) {
return 55;
}
@Override
public String getDescription() {
return ActionType.getCraftingActionFromIcon(stack).getDisplayName();
}
@Override
public void addSpecialFields(List<IField> fields, DisplayMode mode) {
if (mode == DisplayMode.EDIT) fields.add(ProgressionAPI.fields.getItem(this, "stack", 5, 25, 2.8F));
}
@Override
public ItemStack getRandom(EntityPlayer player) {
return stack;
}
@Override
public boolean matches(ItemStack check) {
if (stack.getItem() != check.getItem()) return false;
if ((stack.getItemDamage() != check.getItemDamage())) return false;
return true;
}
}