- Поддерживаемые версии
- 1.16
- 1.17
- 1.18
- 1.19
- 1.20
- Ядра и Прокси
- Paper
Если пробежаться по популярным серверам, то можно заметить, что у большинства из них топы и рейтинг в целом держится на значениях баланса игроков, k/d и времени, проведённого в игре. Таким проектам не хватает единой системы, которая будет считать прогресс игроков. Чтобы положение игрока среди остальных на сервере основывалось на каком-то едином значении, а не на балансе или к/д.
Поэтому представляем вам одно из решений данного недоразумения.
Всё просто, игрок выполняет определенные действия (Трейд с жителем, убийство босса, победа в рейде и другие) и получает за это награду в виде очков рейтинга.
- Свои плейсхолдеры для PlaceholderAPI
- Полная поддержка HEX-кодов цвета
- Полная мультиязычность. Вы можете добавлять свои файлы локализации
- Детальная настройка событий, за которые игроки получают очки
- Запуск без активной базы данных MySQL невозможен!
Команды:
Команда | Что делает |
---|---|
/nekorating reload | Перезагрузка конфига |
/profile, /top, /rating | Открывает GUI с топом игроков |
/rp, /rpoints, /rpedit <add/take/set> <Никнейм> <Кол-во> | Добавить, отобрать, установить очки игроку |
Права:
Право | Что даёт |
---|---|
nekorating.enableget | Позволяет зарабатывать очки |
nekorating.seeprofile | Доступ к /profile, /top, /rating |
nekorating.rpedit | Доступ к /rp, /rpedit, /rpoints |
nekorating.reload | Доступ к /nekorating reload |
%nrating_top_username_<Место>% - Ник игрока, который на указанном месте в топе
%nrating_top_points_<Место>% - Очки игрока, который на указанном месте в топе
%nrating_player_top% - Место игрока, который видит этот плейсхолдер
%nrating_player_points% - Очки игрока, который видит этот плейсхолдер
config.yml
Основные настройки плагина
language - Указывайте файл локализации из папки langs/
MySQL - Данные для подключения к MySQL
points > start-points - Значение очков у игрока, который впервые зашёл на сервер
notify-player-<add/take/set>-command - Уведомление для игрока, которому был изменен баланс очков
notify-player-reward - Тип отображения информации о награде в виде очков
notify-player-reward-sound - Звук при зарабатывании очков
tops > refresh-top-global - Частота обновления статистики из бд
Код:
language: "en" # Enter the name of the localization file. For example, use "de" if you want to use the file "de.yml"
MySQL:
login: "root"
password: ""
server: "localhost"
port: "3306"
database-name: "nekorating"
table-name: "players"
# Standard value of a player's points
points:
start-points: 0
players:
# Notifications for a player when /rpoints are used for them
notify-player-add-command: true
notify-player-take-command: true
notify-player-set-command: true
# Type of notification displayed when points are received
notify-player-reward: "ACTION_BAR" # CHAT_MESSAGE or TITLE or ACTION_BAR or DISABLE
# Play sound when earning points
# You can see the full list of sounds here - https://jd.papermc.io/paper/1.20/org/bukkit/Sound.html
notify-player-reward-sound:
enabled: true
sound: BLOCK_AMETHYST_BLOCK_STEP
# Frequency of updating the top players
tops:
refresh-top-global: 10
reward.yml
Настройка наград за события
entities-kill - Список мобов, за убийство которых игрок получает очки. Важно: список блоков каждого моба должен идти последовательно начиная с 0
other-entities-kill - Награда за убийство любого моба, который отсутствует в блоке entities-kill
trades - Награда за торги с жителями
totem-use - Награда за использование тотема
raid-trigger - Награда за старт рейда
raid-win - Награда каждому игроку, который стал победителем рейда
enchantment-item - Награда за использования стола зачарований
achievement - Награда за получение достижений
Код:
# The reward that will be given for a player killing a mob
# You can set each mob a different reward.
# Important. The enumeration must start with 0
# The entire list of mobs is listed here - https://jd.papermc.io/paper/1.20/org/bukkit/entity/EntityType.html
entities-kill:
0:
entity-type: ENDER_DRAGON
reward: 200
1:
entity-type: BEE
reward: 5
#3:
# entity-type: ZOMBIE
# reward: 3
# A reward that will be given for a player killing a mob that is not on the list above
other-entities-kill:
enable: true
reward: 1
# Reward to be given for 1 transaction with a villager
trades:
enable: true
reward: 5
# Reward to be given for the pop of the totem
totem-use:
enable: true
reward: 15
# The reward that will be given out when a player has started a raid
raid-trigger:
enable: true
reward: 15
# A reward that will be given to ALL players who are winners of the raid
raid-win:
enable: true
reward: 50
# Reward to be given for using the enchantment table
enchantment-item:
enable: true
lvl1-reward: 1
lvl2-reward: 2
lvl3-reward: 3
# Reward to be given for obtaining achievements
achievement:
enable: true
reward: 5
en.yml, ru.yml и другие файлы локализации
Строки, используемые плагином
Вы можете создать копию любого из стандартных файлов локализации, назвать её, например "de.yml", перевести все строки внутри на немецкий язык и указать в config.yml > language: "de" и плагин станет использовать новый файл локализации
Дополнительно:
Если вы хотите использовать кастомные события из других плагинов (Например получение очков за открытие кейсов, или сыгранную мини-игру), то можете сделать заказ написав мне в Telegram.Цена от 10$ [ RUB, USDT ]
Оформлением страницы был вдохновлён от xflyiwnl
TODO:
- Топ в чате (Как /baltop у Essentials)
- Кфг-плейсохолдер {sender} - Возвращает отправителя команды (для /rp <add/take/set>)
- Очередь вывода сообщений о награде (Например, при убийстве толпы разных мобов по очереди отобразилась информация о том, сколько очков было начислено)
- Отдельная настройка к каждому достижению
- Награда за открытие рецептов
- Интеграция с Essentials
- Исходный код
- https://github.com/Bayori/NekoRating
- Команды и права
Команды:
Команда Что делает /nekorating reload Перезагрузка конфига /profile, /top, /rating Открывает GUI с топом игроков /rp, /rpoints, /rpedit <add/take/set> <Никнейм> <Кол-во> Добавить, отобрать, установить очки игроку
Права:
Право Что даёт nekorating.enableget Позволяет зарабатывать очки nekorating.seeprofile Доступ к /profile, /top, /rating nekorating.rpedit Доступ к /rp, /rpedit, /rpoints nekorating.reload Доступ к /nekorating reload