Перейти к содержанию

Редкость предметов#

В Minecraft цвет большинства предметов белый. Однако цвет зачарованных инструментов меняется на алмазный. Цвет зачарованной книги желтый.

За цвет названий предметов отвечает редкость rarity этого предмета. Редкость отвечает только за цвет названия. Ни для чего больше в игре она не применяется.

Зачем использовать редкость?#

Цвет названия предмета можно установить через .lang файл используя коды форматирования.

Вот так можно получить оранжевое название предмета для "Легендарной кирки":

item.itemTest.name=§6Legendary Pickaxe

Но что если вы создаете большой RPG мод, в котором есть легендарные, божественные, невероятные и т.д. предметы?

Можно проставлять цветовые коды перед каждым названием, но что если в один день вы решили изменить цвет легендарных предметов? Придется менять названия у всех предметов из этой категории. Неудобно.

С помощью системы редкости вам достаточно будет поменять цвет в одном месте и он сразу изменится у всех предметов, которые находятся в этой категории редкости.

Регистрация редкости#

Добавим в файл предметов строку:

// Items.java
public static final EnumRarity RARITY_TUTORIAL = EnumHelper.addRarity(name, color, displayName);

Разберем аргументы: * name (строка) — название класса предмета * color (TextFormatting) — цвет названия предмета * displayName (строка) — название редкости предмета

Добавим "Легендарную" редкость предметов. Названия должны окрашиваться в золотой цвет:

// Items.java
public static final EnumRarity RARITY_LEGENDARY = EnumHelper.addRarity("RARITY_LEGENDARY", TextFormatting.GOLD, "Legendary");

Применение к предмету#

В файле предмета нужно реализовать метод getRarity:

// ItemTest.java
public EnumRarity getRarity(ItemStack stack) {
    return Items.RARITY_LEGENDARY; // Созданная нами группа редкости
}

Теперь название предмета оранжевого цвета:

Демонстрация оранжевого названия