- Баллы
- 76
Я хочу сделать, чтобы предмет был отличным от остальных. Я создал класс со всеми вещами предмета и, когда я провожу манипуляции с предметом который уже был использован он всё ровно поддаётся манипуляциям. Помогите мне это исправить.
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
:facepalmСделай один предмет отличным, а другие плохими.
Хранит все предметы с которыми ты проводил манипуляции в списке? А потом если предмет содержится в списке не проводит с ним манипуляции.:facepalm
я написал отличный в значении отличаться, а не хороший
Чувак есть одна проблемка если хранить ItemStack в списке и проверять если он там содержится то в при малейшем изменении этого ItemStack'а Лист тебе просто скажет: "Извините денег нету."Хранит все предметы с которыми ты проводил манипуляции в списке? А потом если предмет содержится в списке не проводит с ним манипуляции.
А теперь можно по русски? И в чём проблема взять itemstack из списка (если он содержится в нём) как-то изменить, и перезаписать? К примеру:Чувак есть одна проблемка если хранить ItemStack в списке и проверять если он там содержится то в при малейшем изменении этого 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); //Добавляем обратно
}
А теперь можно по русски? И в чём проблема взять его от туда если он содержится как-то изменить, и перезаписать? К пример:
Код: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); //Добавляем обратно }
Ты тоже нормально пиши. В твоем случае можно просто циклом проходит по ItemStack из списка и ставит одинаковые параметры, потом сравнивать эти ItemStack.Ты по русски напиши а не обрывками. И я тебе ещё раз говорю если записать ItemStack в лист то сохраняются все параметры, например прочность. И если ты, например ударил моба, то изменяется прочность а значит и данный предмет не будет соответствовать тому что в листе.
По имени? Костыль ещё тот будет..Я вот думаю может хранить по имени, но назревает вопрос а можно ли модами подделывать ChatColor? Потому-что я тут заметил, что добавили color char а это §.
Ну я знаю, а чё ещё делать?По имени? Костыль ещё тот будет..
Ну раз тебе нужно узнать только узнать что за предмет, то тогда stack.getType(); - вернет MaterialНу я знаю, а чё ещё делать?
Мне надо сделать его отличным от остальных чтобы эвент не срабатывал на обычные предметы а только на те которые мне нужны.Ну раз тебе нужно узнать только узнать что за предмет, то тогда stack.getType(); - вернет Material
Напиши полностью что ты хочешь получить в итоге.Мне надо сделать его отличным от остальных чтобы эвент не срабатывал на обычные предметы а только на те которые мне нужны.
У меня есть предмет и я хочу проверить а не тот ли это предмет который мне нужен. Если это тот самый предмет то просто выбрасываю true в boolean методе. Если нет то false. Метод у меня есть, но реализацию не могу сделатьНапиши полностью что ты хочешь получить в итоге.
А если сделать цикл из ItemStack`ов из списка, потом проверять параметры которые тебе нужны. Допустим тоже имя, тип, описание и.т.дУ меня есть предмет и я хочу проверить а не тот ли это предмет который мне нужен. Если это тот самый предмет то просто выбрасываю true в boolean методе. Если нет то false. Метод у меня есть, но реализацию не могу сделать
Чувак, не знаю что у тебя не так, но у меня все работает и при простом сравнивание. Даже если я поврежу чуть-чуть предмет.А если сделать цикл из ItemStack`ов из списка, потом проверять параметры которые тебе нужны. Допустим тоже имя, тип, описание и.т.д
Будет работать до рестарта. Так себе идея.Чувак, не знаю что у тебя не так, но у меня все работает и при простом сравнивание. Даже если я поврежу чуть-чуть предмет.
Рассказывай чё за атрибут, и как его нахимичить? У меня для всех предметов есть классы.Можно запатчиить в класс стака некий атрибут и чекать его.