В Вашем скрипте на 58 строке Вы передаете какой-то кривой аргумент в класс инвентаря
Код:
player.getInventory().addItem(itemId, count, "<OpenHeroChest>");
Давайте отследим, что там может пойти не так.
Начнем с 40-41 строк:
Код:
int itemId = 0;
int count = 0;
Проследуем дальше, до 43-52, на 51 последнее условие:
И если оно тоже фолс, на выходе Вы пытаетесь в Inventory в войд addItem передать количество 0, ид 0, что, вероятно, и руинит всё, ибо данный предмет, полагаю, не существует.