Редкость#
Добавление редкости к предмету#
В игре существует четыре типа редкости:
common
- белый цвет названия предметаuncommon
- жёлтый цветrare
- аквамариновый цвет(золотое яблоко)epic
- ярко-розовый цвет(золотое магическое яблоко)
Примечание
Сама редкость, кроме цвета названия, ни на что не влияет.
Чтобы добавить редкость к своему предмету, необходимо переопределить метод Item#getRarity(ItemStack)
. Зададим нашему
кольцу тип редкости rare
.
public class RingItem extends Item {
/**
* Обрабатывает редкость для предмета.
*
* @param stack Стэк содержащий предмет класса RingItem.
* @return Возвращает редкость.
*/
@Override
public EnumRarity getRarity(ItemStack stack) {
return EnumRarity.rare;
}
}
Собственная редкость#
Поскольку в игре имеется всего четыре типа редкости, то давайте добавим свой тип редкости, скажем легендарный.
Создадим переменную в ModItems
:
public class ModItems {
public static final EnumRarity LEGENDARY_RARITY = EnumHelper.addRarity("mcmodding:legendary", EnumChatFormatting.RED, "Legendary");
}
Ознакомимся с параметрами метода EnumHelper#addRarity(String, EnumChatFormatting, String)
- Название редкости, в нашем случае будет
mcmodding:legendary
. Рекомендуется добавлятьModId
перед названием, чтобы случайно не заменить редкость из других модов! - Цвет редкости.
- Отображаемое имя(не используется самой игрой)
Вернём нашу редкость в методе Item#getRarity(ItemStack)
:
public class RingItem extends Item {
@Override
public EnumRarity getRarity(ItemStack stack) {
return ModItems.LEGENDARY_RARITY;
}
}