public class DemoBlockEntity extends BlockEntity implements ImplementedInventory, SidedInventory { [...] @Override public int[] getInvAvailableSlots(Direction var1) { // Just return an array of all slots int[] result = new int[getItems().size()]; for (int i = 0; i < result.length; i++) { result[i] = i; } return result; } @Override public boolean canInsert(int slot, ItemStack stack, Direction direction) { return direction != Direction.UP; } @Override public boolean canExtract(int slot, ItemStack stack, Direction direction) { return true; } }