package com.jaquadro.minecraft.storagedrawers.api.storage; /** * Represents a drawer with items that are a fractional component of another item within the drawer group. Compacting * Drawers are a primary example of this drawer type. */ public interface IFractionalDrawer extends IDrawer { /** * Gets the storage ratio between the held item and the most compressed item within the drawer group. * * For example, most ingots have a conversion rate of 9 compared to metal blocks, and nuggets a rate of 81. * Actual conversion rates are implementation-defined. */ int getConversionRate (); /** * Gets the number of items left in the drawer if the maximum number of equivalent compressed items had been removed. * The equivalency is determined by the next compression tier, and not necessarily the conversion rate. */ int getStoredItemRemainder (); /** * Gets whether or not the stored item represents the smallest granularity of material that can be stored within * the drawer group. */ boolean isSmallestUnit (); }