Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Сделать уникальный ItemStack для hashcode

Migel

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
Migel077
Грубо говоря я хочу использовать од ин предмет в качестве key в HashMap, однако один is возрващает одинаковый hashcode. Как мне сделать уникальным is? Разумно использовать NBTTagCompound?
 
Какая конечная цель? Для чего ты хочешь хранить ItemStack в качестве ключа в HashMap? Какую геймплейную механику ты делаешь?
Теоретически ты можешь добавлять каждому стаку

Разумно использовать NBTTagCompound?
Если ты собираешься хранить в стаке собственные кастомные данные, то используй Paper API: ItemStack#getPersistentDataContainer()
Работает начиная с Paper 1.14.
Если под более старые версии, то тут уже только костыли с NBTAPI/CraftBukkit/NMS
 
Грубо говоря я хочу использовать од ин предмет в качестве key в HashMap, однако один is возрващает одинаковый hashcode. Как мне сделать уникальным is? Разумно использовать NBTTagCompound?
Астемстак правильно проверять через isSimilar, а не хешкоду.
 
Астемстак правильно проверять через isSimilar, а не хешкоду.
Расскажи это HashMap.
Помимо этого, это не "не правильно". Зависит всё от задачи. Если требуется ещё и количество предметов сравнивать, то .equals() и .hashCode() делают своё дело корректно.
Но, опять же, мы не знаем, что конкретно требуется ТСу
 

Поделиться этой страницей

Назад
Верх