Создание токенов
Здесь вы узнаете, как создавать токены, которые можно обменивать на косметику, а также как настроить фильтрацию выдачи предметов и систему редкости.
Настройка токенов (tokens.yml)
В файле tokens.yml вы настраиваете сам предмет токена и правила его работы.
Ниже приведены три примера:
- Простой токен: Выдает конкретный предмет.
- Зимний токен (Whitelist): Выдает только предметы с тегом "winter".
- Обычный токен (Blacklist): Выдает любые предметы, КРОМЕ сезонных.
tokens:
# Пример 1: Токен на конкретную косметику
simple_token:
item:
display: '&6Простой токен'
amount: 1
material: LEATHER_HORSE_ARMOR # также можно использовать nexo/item-adder/craft-engine
lore:
- ''
- '&9Обменяйте простой токен!'
- ''
unbreakable: true
glow: false
hide-attributes: true
modeldata: 10006
cosmetic: cosmetic-id # ID косметики, которую игрок гарантированно получит.
exchangeable: true # Если true, косметику можно вернуть обратно в токен через меню.
# Пример 2: Зимний токен (Только зимние вещи)
winter_lootbox:
item:
display: '&bЗимний Ваучер'
amount: 1
material: SNOWBALL
lore:
- '&7Нажмите ПКМ, чтобы получить'
- '&7случайную зимнюю шапку!'
unbreakable: true
glow: true
hide-attributes: true
modeldata: 0
type: HAT # Тип косметики для рандома.
cosmetic: santa_hat # Иконка этой косметики будет показана в меню обмена как "Результат".
exchangeable: false
# Система фильтрации
filter:
mode: WHITELIST # Белый список: выдавать ТОЛЬКО предметы с этими тегами
tags:
- "winter"
- "christmas"
# Пример 3: Обычный токен (Исключает сезонные вещи)
normal_hat_token:
item:
display: '&eСлучайная Шапка'
amount: 1
material: PAPER
lore:
- '&7Выдает любую шапку,'
- '&7кроме сезонных событий.'
unbreakable: true
glow: false
hide-attributes: true
modeldata: 101
type: HAT
cosmetic: fedora_hat
exchangeable: false
# Система фильтрации
filter:
mode: BLACKLIST # Черный список: НЕ выдавать предметы с этими тегами
tags:
- "winter"
- "halloween"
- "summer"Настройка косметики (cosmetics.yml)
Чтобы система фильтрации и редкости работала, вам необходимо добавить соответствующие параметры (tags и rarity) в конфиг самой косметики.
Вот полный пример настройки косметики с новыми параметрами:
cosmetics:
# Пример сезонной косметики (Выпадет из winter_lootbox)
santa_hat:
type: HAT
permission: "ecosmetics.hat.santa"
colored: true
item:
display: "&cШапка Санты"
material: LEATHER_HORSE_ARMOR
lore:
- "&7Веселого Рождества!"
- ""
- "&eРедкость: Легендарная"
unbreakable: true
glow: false
hide-attributes: true
modeldata: 10005
texture: ""
color: "#FF0000"
# Шанс выпадения (Вес).
# 10 - это редко, по сравнению с обычными предметами (100).
rarity: 10
# Теги для фильтрации токенами
tags:
- "winter"
- "christmas"
# Пример обычной косметики (Выпадет из normal_hat_token)
fedora_hat:
type: HAT
permission: "ecosmetics.hat.fedora"
colored: true
item:
display: "&7Федора"
material: LEATHER_HORSE_ARMOR
lore:
- "&7Классическая шляпа."
- ""
- "&eРедкость: Обычная"
unbreakable: true
glow: false
hide-attributes: true
modeldata: 10008
texture: ""
color: "#333333"
# Высокий вес = выпадает часто
rarity: 100
# Тегов нет (или можно добавить "common")
tags: []Как работает тип (type)?
Доступны следующие типы:
HAT(Шляпы)BAG(Рюкзаки)WALKING_STICK(Трости)BALLOON(Воздушные шары)SPRAY(Спреи)ALL(Выбирает из всех категорий сразу)
Если вы указали type в конфиге токена, он превращается в Ваучер (Лутбокс). При использовании он выдаст случайную косметику указанного типа, которой у игрока еще нет.
Система фильтрации (Filter)
Вы можете ограничить список предметов, которые выпадают из случайного токена, используя теги. Это полезно для создания сезонных токенов или разделения косметики.
Доступные режимы (mode):
WHITELIST (Белый список):
- Токен выдаст косметику, у которой есть хотя бы один тег из списка
tags. - Пример: Если указать тег
winter, токен будет выдавать только косметику, у которой в конфиге тоже есть тегwinter.
- Токен выдаст косметику, у которой есть хотя бы один тег из списка
BLACKLIST (Черный список):
- Токен выдаст любую косметику, у которой НЕТ ни одного тега из списка
tags. - Пример: Если указать тег
winter, токен будет выдавать все шляпы, КРОМЕ зимних.
- Токен выдаст любую косметику, у которой НЕТ ни одного тега из списка
NONE (или если секция
filterотсутствует):- Фильтрация отключена, выпадают абсолютно все предметы выбранного типа (кроме тех, что уже есть у игрока).
Система редкости (Rarity)
При выдаче случайной косметики плагин учитывает параметр rarity, указанный в cosmetics.yml. Это работает по системе весов (Weighted Random):
- Предмет с
rarity: 100будет выпадать в 10 раз чаще, чем предмет сrarity: 10. - Если
rarityне указан, по умолчанию он равен100.
Рекомендация по настройке:
- Обычные (Common): 100
- Редкие (Rare): 50
- Эпические (Epic): 25
- Легендарные (Legendary): 10
Важные заметки
- Приоритет: Если в токене указан конкретный
cosmetic: id(и не указанtype), то параметры фильтрации и редкости игнорируются - токен выдаст этот конкретный предмет. - Иконка в меню: Если вы используете случайный токен (
type), обязательно укажите в полеcosmeticID любой существующей косметики (например, самой простой шляпы). Её иконка будет использоваться в меню обмена (в слоте результата), чтобы игрок понимал, что он получит косметику, а не пустоту. - Обмен (Refund): Если
exchangeable: true, игрок может вернуть уже открытую косметику и получить этот токен обратно в инвентарь. Это делается через меню косметики нажатием Shift + ЛКМ по уже имеющемуся предмету. Работает только при наличии места в инвентаре.