[Reputation] Дайте игрокам право выбора лучшего из них [MySQL/SQLite || Bukkit/Spigot/Paper]

Для ядра [Reputation] Дайте игрокам право выбора лучшего из них [MySQL/SQLite || Bukkit/Spigot/Paper] 3.0.17-БЕТА

Нет прав для скачивания
Что было исправлено:
  • если в конфиге lang.yml сообщения notifyOnJoin или notifyOnFirstJoin пустые, теперь не отправляется пустая строчка

За указанную ошибку спасибо ChildFreak.
Нашли баг? Можете сообщить о нём на GitHub (issues).
Что было исправлено:
  • если в базе данных находится меньше игроков, чем указано значение topAmount в конфиге, вылетало исключение IllegalStateException

За указанную ошибку спасибо SpoGi и Димаксик.
Нашли баг? Можете сообщить о нём на GitHub (issues).
  • Мне нравится (+1)
Реакции: MrDey и SpoGi
Что было добавлено:
  • в конфиге пункт topUpdateFrequency - частота обновления топа игроков (в тиках). Изменение данного параметра применяется только после рестарта сервера
Что было убрано:
  • топ онлайн игроков /rep top online (теперь только один топ - /rep top)
Что было изменено:
  • переделан топ игроков по очкам репутации. Теперь в одном топе хранятся онлайн (кэш плагина) и оффлайн (база данных плагина) игроки

Как работает новый топ:
1) Мы получаем топ-N онлайн игроков;
2) Далее получаем топ-N офлайн игроков;
3) Если игрок был добавлен в топ в первом пункте, то он игнорируется во втором пункте;
4) В списке остаётся только N игроков, даже если из первых двух пунктов вышло больше (ограничение N настраивается в конфиге параметром topAmount)
Разработчики могут использовать метод PlayersContainer#getCachedTopGamePlayers().

За указанные ошибки спасибо SpoGi.
Плагин проверялся с 5 игроками, 1 из них онлайн, остальные оффлайн. Должен будет работать и при другом количестве онлайн/оффлайн игроков. Но я в этом не уверен. Если что-то случится - обязательно сообщайте.

Нашли баг? Можете сообщить о нём на GitHub (issues).
Что было добавлено:
  • команда для админов /rep player <Ник> remove <Очки> (Право: reputation.admin.remove)
Что было исправлено:
  • при использовании одной команды воспроизводились все последующие;
  • в команде для админов /rep player <Ник> reset теперь устанавливается дефолтное количество очков репутации из конфига, а не ноль

За указанные ошибки спасибо SpoGi.
Нашли баг? Можете сообщить о нём на GitHub (issues) (очень рад).
Что было изменено:
  • один пользователь на GitHub указал мне, что на версии 1.12.2 не запускается мой плагин, потому что он использует Java 8, а плагин поддерживает майнкрафт 1.8-1.20 (кстати, выше версии тоже поддерживаются. В плагине не используется что-то необычное, чтобы поддержка версий где-то заканчивалась). Что ж, обновил (в другую сторону) плагин под java 8, встречайте.

Нашли баг? Можете сообщить о нём на GitHub (issues) (А минусочек-то не мой).
  • Мне нравится (+1)
Реакции: MrDey
Что было добавлено:
  • функция окрашивания очков репутации в зависимости от их количества. По стандарту выключена, а цвета зависят от количества относительно нуля;
  • функция воспроизведения команд от игрока/консоли (для консоли в начале команды указать "console!" (да, с восклицательным знаком)) при первом (так можно выдавать награды за достижение и не будет накрутки, т.к. список команд сохраняется в бд) или при любом (а так можно выдавать/забирать права, ограничивая игроков с низкой репутацией) достижении определённого количества очков репутации;
  • событие для разработчиков ReputationUpdatedEvent. Вызывается после изменения количества очков репутации, отменить нельзя
Что было изменено:
  • событие для разработчиков ReputationUpdateEvent было переименовано в ReputationPreUpdateEvent. Вызывается перед изменением количества очков репутации, можно отменить
Что было исправлено:
  • убран лишний лог, который я забыл убрать перед компиляцией;
  • обновлена версия используемой библиотеки DazzleConf до 1.3.0-M2

За указанные ошибки спасибо Ilyaxin.
Нашли баг? Можете сообщить о нём на GitHub (issues) (очень рад).
Что было добавлено:
  • опция defaultAcceptReputation позволяет включить репутацию игрокам, зашедшим на сервер впервые (или отключить). По стандарту репутация включена, настраивается в config.yml;
  • сообщения "число слишком велико" (numberIsTooLong) и "отказ от репутации выключен" (rejectionDisabled). Настраиваются в lang.yml;
  • сохранение данных онлайн игроков при выключении сервера;
  • Баги
Что было изменено:
  • во всех сообщениях, где это возможно, вместо заменителя %player_name% из плагина PlaceholderAPI используется внутренний заменитель ${player_name};
  • проверка числа на подлинность и его значение
Что было исправлено:
  • сортировка званий %reputation_title% и ${player_title}

За указанные ошибки спасибо nekit101 и Mi_Di.
Нашли баг? Можете сообщить о нём на GitHub (issues) (очень рад).

1689163844381.png
Что было добавлено:
  • команда /rep player <Игрок> add <Репутация> для добавления репутации игроку (право reputation.admin.add)
Что было изменено:
  • по стандарту используется локальная бд (sql), а не удалённая (mysql)
Что было исправлено:
  • сортировка игроков в топе онлайн игроков по репутации

Нашли баг? Можете сообщить о нём на GitHub (issues) (очень рад).
Что было добавлено:
  • команда /rep reject для отказа от репутации или возвращения к ней

Нашли баг? Можете сообщить о нём на GitHub (issues) (очень рад).
Что было добавлено:
  • игроки получили (но только не получили команду для этого, потому что я забыл это сделать...) возможность отказаться от взаимодействия от репутации. В случае отказа они не смогут ни получать репутацию, ни давать её кому-либо. Данные вносятся в таблицу "reputation" (если не изменяли название в конфиге) в колонку "acceptReputation" с типом BOOLEAN (tinyint(1), если BOOLEAN не принимает);
  • защита по IP от накрутки репутации самому себе с других аккаунтов;
  • возможность в конфиге config.yml изменять стандартное количество репутации у игроков при первом заходе на сервер (без изменений - 0, как и было до выноса этой настройки в конфиг).

Нашли баг? Можете сообщить о нём на GitHub (issues) (очень рад).
Назад
Сверху Снизу