/** Check if the stack is a valid item for this slot. Always true beside for the armor slots. */
 @Override
 public boolean isItemValid(ItemStack is) {
   return (is.itemID == RotaryCraft.extracts.itemID && is.getItemDamage() < 8)
       || (ExtractorModOres.isModOreIngredient(is)
           && ExtractorModOres.isDust(
               ModOreList.getEntryFromDamage(is.getItemDamage() / 4), is.getItemDamage()));
 }
 /** Check if the stack is a valid item for this slot. Always true beside for the armor slots. */
 @Override
 public boolean isItemValid(ItemStack is) {
   if (ItemRegistry.EXTRACTS.matchItem(is) && is.getItemDamage() < 24 && is.getItemDamage() >= 16)
     return true;
   if (ExtractorModOres.isModOreIngredient(is)
       && ExtractorModOres.isSolution(
           ModOreList.getEntryFromDamage(is.getItemDamage() / 4), is.getItemDamage())) return true;
   if (ItemRegistry.CUSTOMEXTRACT.matchItem(is) && is.getItemDamage() % 4 == 2) return true;
   return false;
 }
 private OreType getOreType(ItemStack is) {
   if (is.getItem() == ItemRegistry.EXTRACTS.getItemInstance()) {
     return ReikaOreHelper.oreList[is.getItemDamage() % ReikaOreHelper.oreList.length];
   } else if (is.getItem() == ItemRegistry.MODEXTRACTS.getItemInstance()) {
     return ExtractorModOres.getOreFromExtract(is);
   } else if (is.getItem() == ItemRegistry.CUSTOMEXTRACT.getItemInstance()) {
     return ItemCustomModOre.getExtractType(is);
   } else {
     OreType ore = ReikaOreHelper.getFromVanillaOre(is);
     if (ore != null) return ore;
     ore = ReikaOreHelper.getEntryByOreDict(is);
     if (ore != null) return ore;
     ore = ModOreList.getModOreFromOre(is);
     if (ore != null) return ore;
     ore = CustomExtractLoader.instance.getEntryFromOreBlock(is);
     if (ore != null) return ore;
   }
   return null;
 }