Помогите Проверить itemStack на цвет

  • Автор темы Автор темы Kurumi
  • Дата начала Дата начала

Kurumi

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Kurumi
Как можно проверить itemStack в руке игрока на цвет? Например, игрок держит в руке обычную кожаную броню. Как проверить, отличается ли этот цвет от дефолтного цвета брони? А также, как проверить, имеет ли этот itemStack какой-то цвет? Например, в случае с шерстью, имеет ли она цвет? (Любой, кроме белого, так как он дефолтный)
 
boolean isColoredArmor = stack.getItemMeta() instanceof LeatherArmorMeta
&& ((LeatherArmorMeta) stack.getItemMeta()).getColor().asRGB() != 0xa06540; // Значение CraftItemFactory.instance().getDefaultLeatherColor()

С шерстью зависит от того, какая версия.

На 1.12- как-то так:
boolean isColoredWool = stack.getType() == Material.WOOL && stack.getDurability() != 0;

На 1.13 что-то типа такого будет:
boolean isColoredWool = Tag.WOOL.isTagged(stack.getType()) && stack.getType() != Material.WHITE_WOOL;
 
Назад
Верх