1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Как получить топ 10 по балансу игроков у Essentials

Тема в разделе "Разработка плагинов для новичков", создана пользователем JayRoon, 17 сен 2022.

Статус темы:
Закрыта.
  1. Автор темы
    JayRoon

    JayRoon Участник Пользователь Заблокирован

    Баллы:
    31
    Имя в Minecraft:
    Krongss_FUR
    Хочу сделать плейсхолдер для получения по списку игроков у которых больше всего монет на балансе, думал либо в vault economy с помощью этого плагина делать, а потом пришла идея с помощью essentialsx получать это, т.к там есть команда balancetop и из неё получать данные о тех у кого больше баланс, но не могу найти айпи инфу про ессеншиалс. Что насчёт зачем мне его делать, если у существует куча плагинов на это, я отвечу, т.к я пробовал разные, не помогает, решил чё-уж не буду добавлять другие плагины на это на сервер, и прост в свой плагин добавлю такую функцию.
     
  2. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Essentials#getBalanceTop(), далее из BalanceTop просто проверяешь возраст кэша - если устраивает, просто получаешь результат; если нет - запускаешь просчет, подключаешься к CompletableFuture.
    BalanceTop#getBalanceTopCache() возвратит тебе сортированный Map, так что можешь просто итерировать её.
     
  3. Автор темы
    JayRoon

    JayRoon Участник Пользователь Заблокирован

    Баллы:
    31
    Имя в Minecraft:
    Krongss_FUR
    Я извиняюсь, я не работал не с CompletableFuture, с топкеш, с возрастом кэша, я не могу понять, сейчас если честно я требуюсь в таблице по топам, и нету возможности сейчас в это вникать, я не прошу код написать, можно просто более понятно?
     
  4. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Рейтинг игроков в Essentials не всегда высчитывается в реальном времени. Он считается первый раз, потом на какое-то время сохраняется результат расчетов, и лишь после какого-то времени рейтинг может быть пересчитан ещё раз.
    Такая система называется кэшем. Это сделано с целью сэкономить ресурсы сервера на различные операции.
    В случае с Essentials игроки могут постоянно вводить команду /top, что будет приводить к постоянной загрузке данных с диска и их сортировке в рейтинг.
    Тан, например, если два раза подряд запросить рейтинг - второй точно будет посчитан НЕ в реальном времени, а взят из кэша
     
  5. Автор темы
    JayRoon

    JayRoon Участник Пользователь Заблокирован

    Баллы:
    31
    Имя в Minecraft:
    Krongss_FUR
    Спасибо за объяснение.
     
Статус темы:
Закрыта.

Поделиться этой страницей