Помогите Как проверить какой предмет держит игрок в руке?

KaroBallga

Ньюби
Пользователь
Баллы
1
У меня есть конфиг и как проверить, если из списка items, игрок держит какой-то предмет, то происходило что-то дальше, дайте пожалуйста примерный код
upload_2021-6-8_13-9-16.png
 
player.getInventory().getItemInMainHand()
Дальше от него получаешь имя, лор и т.д и сравниваешь с предметами из конфига
 
player.getInventory().getItemInMainHand()
Дальше от него получаешь имя, лор и т.д и сравниваешь с предметами из конфига
Да, вот это хороший и простой вариант.

Еще дополню: можно в самую последнюю строчку Lore черным шрифтом добавлять ключевое слово и по нему уже проверять. Тоесть писать generator1 или generator2 (крч. уникальное название давать предметам) черным текстом, и игроки не заметят что это такое написано.
 
Да, вот это хороший и простой вариант.

Еще дополню: можно в самую последнюю строчку Lore черным шрифтом добавлять ключевое слово и по нему уже проверять. Тоесть писать generator1 или generator2 (крч. уникальное название давать предметам) черным текстом, и игроки не заметят что это такое написано.
Можно примерный код как это сделать?
 
Я знаю как сравнить лор, имя предмета, просто у меня есть кастом-айтемы, чтобы можно было добавлять их хоть штук 20, но как взять items.generate_0ne, items.generate_two, если допустим пользователей плагина изменит его на generate1293192, в общем я плохо формулирую..
 
Можно примерный код как это сделать?
1. Получаешь предмет
2. Вытягиваешь из него лор в ArrayList
3. Из ArrayList берешь последнюю строку и ее проверяешь - это и будет твой идентификатор.
 
Я знаю как сравнить лор, имя предмета, просто у меня есть кастом-айтемы, чтобы можно было добавлять их хоть штук 20, но как взять items.generate_0ne, items.generate_two, если допустим пользователей плагина изменит его на generate1293192, в общем я плохо формулирую..
Используй CustomModelData, там будет 2147483647 вариантов для подписи предметов и на каждый номер можно свою модель повесить.
 
слишком сильно туплю, дайте пожалуйста примерный код
 
слишком сильно туплю, дайте пожалуйста примерный код
Проверить CustomModelData:
Код:
ItemStack is = ...;

if (is.getItemMeta().hasCustomModelData() && is.getItemMeta().getCustomModelData() == 200) {
    //предмет имеет номер 200
}

Установить CustomModelData:
https://hub.spigotmc.org/javadocs/s...ta.html#setCustomModelData(java.lang.Integer)
 
Назад
Верх