blob: 2944a0016151bb8e5b6c1cde60bc4bd55a59b8a7 [file] [log] [blame] [raw]
package cofh.api.transport;
import net.minecraft.item.ItemStack;
/**
* This interface is implemented on Ender Attuned objects which can receive Items.
*
* @author King Lemming
*
*/
public interface IEnderItemHandler extends IEnderAttuned {
/**
* Return whether or not the Ender Attuned object can currently send ItemStacks.
*/
boolean canSendItems();
/**
* This should be checked to see if the Ender Attuned object can currently receive an ItemStack.
*
* Note: In practice, this can (and should) be used to ensure that something does not send to itself.
*/
boolean canReceiveItems();
/**
* This tells the Ender Attuned object to receive an ItemStack. This returns what remains of the original stack, *not* the amount received - a null return
* means that the entire stack was received!
*
* This function does not support simulation because Inventory manipulation in Minecraft is an absolute mess and it would be a computational liability to do
* so.
*
* @param item
* ItemStack to be received.
* @return An ItemStack representing how much is remaining.
*/
ItemStack receiveItem(ItemStack item);
}