package buildcraft.core.list;
import java.util.Set;
import net.minecraft.item.ItemStack;
import buildcraft.api.lists.ListMatchHandler;
public class ListMatchHandlerTools extends ListMatchHandler {
@Override
public boolean matches(Type type, ItemStack stack, ItemStack target, boolean precise) {
if (type == Type.TYPE) {
Set<String> toolClassesSource = stack.getItem().getToolClasses(stack);
Set<String> toolClassesTarget = target.getItem().getToolClasses(stack);
if (toolClassesSource.size() > 0 && toolClassesTarget.size() > 0) {
if (precise) {
if (toolClassesSource.size() != toolClassesTarget.size()) {
return false;
}
}
for (String s : toolClassesSource) {
if (!toolClassesTarget.contains(s)) {
return false;
}
}
return true;
}
}
return false;
}
@Override
public boolean isValidSource(Type type, ItemStack stack) {
return stack.getItem().getToolClasses(stack).size() > 0;
}
}