По логике вещей у тебя должен быть массив объектов класса Inventory, а не массив классов, в которые можно кастануть в Inventory.
Если все эти объекты будут принадлежать одному родительскому классу, то технической проблемы сложить их в массив не вижу. Проблема будет потом в том как определить к какому классу нужно привести объект из этого массива, но тут уже можно тупо замутить длииный switch по всем имеющимся типам инвентаря.
А вообще стоит пояснить что значит “она дает совсем не то, что нужно” и тогда, наверняка, можно будет найти более подходящее решение