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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
package gregtech.api.multitileentity.interfaces;
import com.gtnewhorizons.modularui.api.forge.IItemHandlerModifiable;
import gregtech.api.multitileentity.multiblock.base.MultiBlockPart;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
public interface IMultiBlockInventory {
boolean hasInventoryBeenModified(MultiBlockPart aPart);
boolean isValidSlot(MultiBlockPart aPart, int aIndex);
boolean addStackToSlot(MultiBlockPart aPart, int aIndex, ItemStack aStack);
boolean addStackToSlot(MultiBlockPart aPart, int aIndex, ItemStack aStack, int aAmount);
int[] getAccessibleSlotsFromSide(MultiBlockPart aPart, byte aSide);
boolean canInsertItem(MultiBlockPart aPart, int aSlot, ItemStack aStack, byte aSide);
boolean canExtractItem(MultiBlockPart aPart, int aSlot, ItemStack aStack, byte aSide);
int getSizeInventory(MultiBlockPart aPart);
ItemStack getStackInSlot(MultiBlockPart aPart, int aSlot);
ItemStack decrStackSize(MultiBlockPart aPart, int aSlot, int aDecrement);
ItemStack getStackInSlotOnClosing(MultiBlockPart aPart, int aSlot);
void setInventorySlotContents(MultiBlockPart aPart, int aSlot, ItemStack aStack);
String getInventoryName(MultiBlockPart aPart);
boolean hasCustomInventoryName(MultiBlockPart aPart);
int getInventoryStackLimit(MultiBlockPart aPart);
void markDirty(MultiBlockPart aPart);
boolean isUseableByPlayer(MultiBlockPart aPart, EntityPlayer aPlayer);
void openInventory(MultiBlockPart aPart);
void closeInventory(MultiBlockPart aPart);
boolean isItemValidForSlot(MultiBlockPart aPart, int aSlot, ItemStack aStack);
IItemHandlerModifiable getInventoryForGUI(MultiBlockPart aPart);
List<String> getInventoryNames(MultiBlockPart aPart);
}
|