package li.cil.oc.api.driver.item; import li.cil.oc.api.driver.Item; import net.minecraft.item.ItemStack; /** * Use this interface to implement item drivers extending the memory of a computer. * <p/> * Note that the item must be installed in the actual computer's inventory to * work. If it is installed in an external inventory the computer will not * recognize the memory. */ public interface Memory extends Item { /** * The amount of RAM this component provides, as a generic scaling factor. * <p/> * This factor has to be interpreted by each individual architecture to fit * its own memory needs. The actual values returned here should roughly be * equivalent to the item's tier. For example, the built-in memory modules * provide defaults of 192 for tier one, 256 for tier 1.5, 384 for tier 2, etc. * Mind that those values may be changed in the config file. * * @param stack the item to get the provided memory for. * @return the amount of memory the specified component provides. */ double amount(ItemStack stack); }