- Баллы
- 76
Здравствуйте,
Как узнать количество достиженей у любого игрока?
Как узнать количество достиженей у любого игрока?
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Не самый полезный ответ, учитывая, что предлагается NMS.
Дебри, чем NMS плох?Не самый полезный ответ, учитывая, что предлагается NMS.
Могу предложить два варианта.
Во-первых, попросту подглядеть, как это сделано в расширении Advancements для PlaceholderAPI. Черт ногу сломит разобраться в этом месиве, но если потратить время, наверняка всё получится.
Во-вторых, попытаться перебрать Bukkit.advancementsIterator(); проверять является ли advancement достижением (открытые крафты тоже считаются advancement), например, по тому, появляются ли они в углу экрана/в чате; если да - проверять наличие достижения у игрока. Можно улучшить производительность, заранее собирая конкретно достижении при запуске сервера и перезагрузке датапаков, и проверять уже их у игрока. Можно пойти и дальше... но это уже твоё дело.
Тем, что это не API. NMS может меняться как и когда угодно - моджангам не требуется сохранять какую-либо обратную совместимость. Одно решение сейчас может запросто сломаться уже в следующей минорной версии (1.19>1.19.1).Дебри, чем NMS плох?
Спасибо большое, я и искал расширение, вот и решил своё написать.Не самый полезный ответ, учитывая, что предлагается NMS.
Могу предложить два варианта.
Во-первых, попросту подглядеть, как это сделано в расширении Advancements для PlaceholderAPI. Черт ногу сломит разобраться в этом месиве, но если потратить время, наверняка всё получится.
Во-вторых, попытаться перебрать Bukkit.advancementsIterator(); проверять является ли advancement достижением (открытые крафты тоже считаются advancement), например, по тому, появляются ли они в углу экрана/в чате; если да - проверять наличие достижения у игрока. Можно улучшить производительность, заранее собирая конкретно достижении при запуске сервера и перезагрузке датапаков, и проверять уже их у игрока. Можно пойти и дальше... но это уже твоё дело.