Помогите Сравнивание skull_item`ов

Akultist

Активный участник
Пользователь
Баллы
46
Имя в Minecraft
Name
Здравствуйте. У меня есть мапа, там хранятся ItemStack`и. Позже у меня есть ещё один ItemStack, я его сравниваю с ItemStack`ами которые в мапе. Так вот, с блоками, предметы и.т.д (кроме голов) он выдает нормальный ответ, если два одинаковых itemstack, то выдает true иначе же false. Так вот, мне нужно сравнить головы. Но он всегда возвращает false. Как будто и голов там нету, но головы в мапе лежат, сравниваю две одинаковых головы, пишет что они не одинаковые.. Как решить?

P.S - у голов изменено почти все кроме amount, enchant, flag, data. (Owner изменен)
 
Точно правильно проверяешь? stack.isSimilar(stack)?
Пробовал и isSimilar, и equals. Не работает. Я подозреваю что это из за SkullMeta, но врятли. Кстати, у ItemStack переопределенный equals и сравнивает он через isSimilar если ты не знал.
 
Пробовал и isSimilar, и equals. Не работает. Я подозреваю что это из за SkullMeta, но врятли. Кстати, у ItemStack переопределенный equals и сравнивает он через isSimilar если ты не знал.
Если ты не знал, там у многих классов equals переопределён.
 
Если ты не знал, там у многих классов equals переопределён.
Да ну нафиг. Капитан очевидность, правда? Лучше бы с проблемой помог, чем оставил бессмысленный комментарий.
 
Да ну нафиг. Капитан очевидность, правда? Лучше бы с проблемой помог, чем оставил бессмысленный комментарий.
Попробуй сравнивать их овнеров, если они есть. Походу баг в isSimilar для SkullMeta
 
Эх, а так не хотелось повторять isSimilar...
Вообщем я тут поэкспериментировал.. Я это всё чудо юзай в ивенте InventoryClickEvent. Вот, оказалось, что доставая SkullMeta из currentItem, у него походу SkullMeta не сохраняется, а сохраняются только данные которые были в ItemMeta. И поэтому когда я из currentItem беру SkullMeta и беру от туда Owner`а, он становиться null. Можно как-то это решить?
 
Назад
Верх