1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем Akultist, 9 дек 2018.

Метки:
  1. Автор темы
    Akultist

    Akultist Активный участник Пользователь

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

    P.S - у голов изменено почти все кроме amount, enchant, flag, data. (Owner изменен)
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну значит они не одинаковые. Логично.
     
  3. Автор темы
    Akultist

    Akultist Активный участник Пользователь

    Баллы:
    46
    Одинаковые, я даже пытался добавить в мапу, а потом тут же сравнить из мапы. Один и тот же itemstack. Выдает что его там нет
     
  4. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Точно правильно проверяешь? stack.isSimilar(stack)?
     
  5. Автор темы
    Akultist

    Akultist Активный участник Пользователь

    Баллы:
    46
    Пробовал и isSimilar, и equals. Не работает. Я подозреваю что это из за SkullMeta, но врятли. Кстати, у ItemStack переопределенный equals и сравнивает он через isSimilar если ты не знал.
     
  6. Cool_boy

    Cool_boy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Если ты не знал, там у многих классов equals переопределён.
     
  7. Автор темы
    Akultist

    Akultist Активный участник Пользователь

    Баллы:
    46
    Да ну нафиг. Капитан очевидность, правда? Лучше бы с проблемой помог, чем оставил бессмысленный комментарий.
     
  8. Cool_boy

    Cool_boy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Попробуй сравнивать их овнеров, если они есть. Походу баг в isSimilar для SkullMeta
     
  9. Автор темы
    Akultist

    Akultist Активный участник Пользователь

    Баллы:
    46
    Эх, а так не хотелось повторять isSimilar...
     
  10. Автор темы
    Akultist

    Akultist Активный участник Пользователь

    Баллы:
    46
    Вообщем я тут поэкспериментировал.. Я это всё чудо юзай в ивенте InventoryClickEvent. Вот, оказалось, что доставая SkullMeta из currentItem, у него походу SkullMeta не сохраняется, а сохраняются только данные которые были в ItemMeta. И поэтому когда я из currentItem беру SkullMeta и беру от туда Owner`а, он становиться null. Можно как-то это решить?
     
  11. Автор темы
    Akultist

    Akultist Активный участник Пользователь

    Баллы:
    46
  12. Worrag

    Worrag Активный участник Пользователь

    Баллы:
    68
    Через NBT мб
     

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