@Override public boolean isValid(ItemStack itemStack, IFilterData data) { return !data.isPresent(); } },
@Override public boolean isValid(ItemStack itemStack, IFilterData data) { return data.isPresent(); } },
@Override public boolean isValid(ItemStack itemStack, IFilterData data) { return data.isPresent(); } },
@Override public boolean isValid(ItemStack itemStack, IFilterData data) { return data.isPresent(); } },
@Override public boolean isValid(ItemStack itemStack, IFilterData data) { return data.isPresent() && data.getType() == EnumGermlingType.POLLEN; } };
@Override public boolean isValid(ItemStack itemStack, IFilterData data) { return data.isPresent() && data.getType() == EnumBeeType.PRINCESS; } },
@Override public boolean isValid(ItemStack itemStack, IFilterData data) { return data.isPresent() && data.getType() == EnumGermlingType.SAPLING; } },
@Override public boolean isValid(ItemStack itemStack, IFilterData data) { return data.isPresent() && data.getType() == EnumFlutterType.SERUM; } },
@Override public boolean isValid(ItemStack itemStack, IFilterData data) { return data.isPresent() && data.getType() == EnumFlutterType.COCOON; } };
@Override public boolean isValid(ItemStack itemStack, IFilterData data) { return data.isPresent() && data.getType() == EnumBeeType.DRONE; } },
@Override public boolean isValid(ItemStack itemStack, IFilterData data) { return data.isPresent() && data.getType() == EnumFlutterType.BUTTERFLY; } },
@Override public boolean isValid(ItemStack itemStack, IFilterData data) { return data.isPresent() && data.getType() == EnumFlutterType.CATERPILLAR; } },
@Override public boolean isValid(ItemStack itemStack, IFilterData data) { return data.isPresent() && data.getType() == EnumBeeType.QUEEN; } };
@Override public boolean isValid(ItemStack itemStack, IFilterData data) { if (!data.isPresent()) { return false; } IIndividual individual = data.getIndividual(); if (!(individual instanceof IBee)) { return false; } return isValid((IBee) individual); }
@Override public boolean isValid(ItemStack itemStack, IFilterData data) { if (!data.isPresent()) { return false; } IIndividual individual = data.getIndividual(); if (!(individual instanceof IButterfly)) { return false; } return isValid((IButterfly) individual); }
public boolean isValid(EnumFacing facing, ItemStack itemStack, IFilterData filterData) { IFilterRuleType rule = getRule(facing); if (rule == DefaultFilterRuleType.CLOSED) { return false; } if (rule == DefaultFilterRuleType.ITEM && !filterData.isPresent()) { return true; } String requiredRoot = rule.getRootUID(); if (requiredRoot != null && (!filterData.isPresent() || !filterData.getRoot().getUID().equals(requiredRoot))) { return false; } if (rule == DefaultFilterRuleType.ANYTHING || rule.isValid(itemStack, filterData)) { if (filterData.isPresent()) { IIndividual ind = filterData.getIndividual(); IGenome genome = ind.getGenome(); IAllele active = genome.getPrimary(); IAllele inactive = genome.getSecondary(); return isValidAllelePair(facing, active.getUID(), inactive.getUID()); } return true; } return false; }