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

Помогите Сделать предмет отличным от остальных

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

Статус темы:
Закрыта.
  1. Автор темы
    Energy warrior

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

    Баллы:
    76
    Я хочу сделать, чтобы предмет был отличным от остальных. Я создал класс со всеми вещами предмета и, когда я провожу манипуляции с предметом который уже был использован он всё ровно поддаётся манипуляциям. Помогите мне это исправить.
     
  2. SecDet

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

    Баллы:
    76
    Имя в Minecraft:
    d3ever
    Сделай один предмет отличным, а другие плохими.
     
  3. Автор темы
    Energy warrior

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

    Баллы:
    76
    :facepalm
    я написал отличный в значении отличаться, а не хороший
     
  4. Akultist

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

    Баллы:
    46
    Хранит все предметы с которыми ты проводил манипуляции в списке? А потом если предмет содержится в списке не проводит с ним манипуляции.
     
  5. Автор темы
    Energy warrior

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

    Баллы:
    76
    Чувак есть одна проблемка если хранить ItemStack в списке и проверять если он там содержится то в при малейшем изменении этого ItemStack'а Лист тебе просто скажет: "Извините денег нету."
     
  6. Akultist

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

    Баллы:
    46
    А теперь можно по русски? И в чём проблема взять itemstack из списка (если он содержится в нём) как-то изменить, и перезаписать? К примеру:

    Код:
    List<ItemStack> stackList = new ArrayList<>(); //Список с ItemStack
            ItemStack stack = new ItemStack(Material.NAME_TAG); //Получаем какой-то itemstack
            if (stackList.contains(stack)) { //Проверяем есть ли он там
                stackList.remove(stack); //Удаляем его
                stack.setAmount(5); //Изменяем его
                stackList.add(stack); //Добавляем обратно
            }
     
    Последнее редактирование: 6 июн 2018
  7. Автор темы
    Energy warrior

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

    Баллы:
    76
    Ты по русски напиши а не обрывками. И я тебе ещё раз говорю если записать ItemStack в лист то сохраняются все параметры, например прочность. И если ты, например ударил моба, то изменяется прочность а значит и данный предмет не будет соответствовать тому что в листе.
     
  8. Akultist

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

    Баллы:
    46
    Ты тоже нормально пиши. В твоем случае можно просто циклом проходит по ItemStack из списка и ставит одинаковые параметры, потом сравнивать эти ItemStack.
     
  9. Автор темы
    Energy warrior

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

    Баллы:
    76
    Я вот думаю может хранить по имени, но назревает вопрос а можно ли модами подделывать ChatColor? Потому-что я тут заметил, что добавили color char а это §.
     
  10. Akultist

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

    Баллы:
    46
    По имени? Костыль ещё тот будет..
     
  11. Автор темы
    Energy warrior

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

    Баллы:
    76
    Ну я знаю, а чё ещё делать?
     
  12. Akultist

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

    Баллы:
    46
    Ну раз тебе нужно узнать только узнать что за предмет, то тогда stack.getType(); - вернет Material
     
  13. Автор темы
    Energy warrior

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

    Баллы:
    76
    Мне надо сделать его отличным от остальных чтобы эвент не срабатывал на обычные предметы а только на те которые мне нужны.
     
  14. Akultist

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

    Баллы:
    46
    Напиши полностью что ты хочешь получить в итоге.
     
  15. Автор темы
    Energy warrior

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

    Баллы:
    76
    У меня есть предмет и я хочу проверить а не тот ли это предмет который мне нужен. Если это тот самый предмет то просто выбрасываю true в boolean методе. Если нет то false. Метод у меня есть, но реализацию не могу сделать
     
  16. Akultist

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

    Баллы:
    46
    А если сделать цикл из ItemStack`ов из списка, потом проверять параметры которые тебе нужны. Допустим тоже имя, тип, описание и.т.д
     
  17. Akultist

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

    Баллы:
    46
    Чувак, не знаю что у тебя не так, но у меня все работает и при простом сравнивание. Даже если я поврежу чуть-чуть предмет.
     
  18. alexandrage

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

    Баллы:
    173
    Будет работать до рестарта. Так себе идея.
     
  19. alexandrage

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

    Баллы:
    173
    Можно запатчиить в класс стака некий атрибут и чекать его.
     
  20. Автор темы
    Energy warrior

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

    Баллы:
    76
    Рассказывай чё за атрибут, и как его нахимичить? У меня для всех предметов есть классы.
     
Статус темы:
Закрыта.

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