Помогите Просачивание экземпляров вызываемого класса в вызывающий

  • Автор темы Автор темы ToBlEzZ
  • Дата начала Дата начала

ToBlEzZ

Активный участник
Пользователь
Баллы
76
Всем привет!
Зачастил я с вопросами, но всё же опять не могу преодолеть проблему.
Опять моя кастомная система крафтов. Хочу сделать её функционал максимально близким к обычному верстаку.
Состав:
Через InventoryClickEvent создаю экземпляр класса Craft, где в конструкторе передаю инвентарь из ивента, откуда потом получаю матрицу (приватный атрибут класса Craft) рабочих слотов (куда игрок кладёт предметы). Для получения хэша использую ItemStack (мне нужны DisplayName, Lore и прочие элементы). Но чтобы было корректнее хочу поставить всем айтемам Amount равное 1.
Но творится что-то странное и при редактировании локальной матрицы в вызываемом классе Craft, также изменяется количество предметов в самом вызывающем инвентаре. (в самой игре).

Вопрос. Как можно получить hashCode() айтемстака, не учитывая его amount?
 
Решил проблему. Я при создании хэша пытался делать доп. переменную ItemStack, приравнивая её изначальному айтему. Для решения всё же надо создать новую переменную и задать ей значение клона изначального предмета.
PHP:
if(item.getAmount()>1){
ItemStack newItem = item.clone();
hash = newItem.hashCode();
}
 
Назад
Верх