aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/interfaces/tileentity/IHasInventory.java
blob: 3b3d4ee75dbc74fb977bf96828b42c62b283d360 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package gregtech.api.interfaces.tileentity;

import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;

public interface IHasInventory extends ISidedInventory, IHasWorldObjectAndCoords {
	
	/**
	 * if the Inventory of this TileEntity got modified this tick
	 */
	public boolean hasInventoryBeenModified();

	/**
	 * if this is just a Holoslot
	 */
	public boolean isValidSlot(int aIndex);
	
	/**
	 * Tries to add a Stack to the Slot.
	 * It doesn't matter if the Slot is valid or invalid as described at the Function above.
	 * 
	 * @return true if aStack == null, then false if aIndex is out of bounds, then false if aStack cannot be added, and then true if aStack has been added
	 */
	public boolean addStackToSlot(int aIndex, ItemStack aStack);
	
	/**
	 * Tries to add X Items of a Stack to the Slot.
	 * It doesn't matter if the Slot is valid or invalid as described at the Function above.
	 * 
	 * @return true if aStack == null, then false if aIndex is out of bounds, then false if aStack cannot be added, and then true if aStack has been added
	 */
	public boolean addStackToSlot(int aIndex, ItemStack aStack, int aAmount);
}