blob: 4decd85a58f7c1c849ccad56bd0fa743f7b8e661 [file] [log] [blame] [raw]
package li.cil.oc.api.detail;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public interface ItemInfo {
/**
* The name of this item descriptor.
* <p/>
* This is the name that yields this instance when passed to
* {@link li.cil.oc.api.Items#get(String)}. Useful for reverse-lookup when
* retrieving the descriptor via an item stack.
*
* @return the name of this item descriptor.
*/
String name();
/**
* Returns the block type of the represented item. In case the item is not
* a block this will return <tt>null</tt>.
* <p/>
* Note that OpenComputers represents most of its items using just a few
* actual <tt>Block</tt> instances, so descriptors for different blocks may
* return the same object here.
*
* @return the block type of the represented block.
*/
Block block();
/**
* Returns the item type of the represented item. In case the item is a
* blocks this will return <tt>null</tt>.
* <p/>
* Note that OpenComputers represents most of its items using just a few
* actual <tt>Item</tt> instances, so descriptors for different items may
* return the same object here.
*
* @return the item type of the represented item.
*/
Item item();
/**
* Creates a new item stack of the item represended by this descriptor.
*
* @param size the size of the item stack to create.
* @return the created item stack.
*/
ItemStack createItemStack(int size);
}