Помогите BlazeAndCave's отслеживание ачивок

iDimasik__

Новичок
Баллы
6
Кароче у меня проблемма, я написал плагин который при детекте выполнения ачивок выдавал очки на скордборд игроку, на ваниле этот плагин хорошо работал. Но когда я установил пак ачивок BlazeAndCave's он перестал нормально работать, когда ты ешь еду, то евент который обнаруживает выполнения ачивок начинает работать (хотя не должен). Кто знает как можно решить проблемму?
 
Прикалываешься? Ответил в прошлой теме, нужно лишь капельку включить соображалку.
http://rubukkit.org/threads/otslezhivanie-achivok.174980/

Сам скачал пак и увидел на сервере следующие категории advancement'ов:
recipes, enchanting, bacap, nether, potion, technical, challenges, biomes, weaponry, combat, husbandry, mining, building, adventure, farming, animal, end, redstone, statistics, story

А теперь догадайся, какие из них нужно отключить для обработки.

Если совсем лень два слова написать - используй NMS (который на других версиях работать не будет):
PHP:
@EventHandler
private void on(PlayerAdvancementDoneEvent event) {
    net.minecraft.server.v1_16_R3.AdvancementDisplay display = ((org.bukkit.craftbukkit.v1_16_R3.advancement.CraftAdvancement) event.getAdvancement()).getHandle().c();
    if (display == null) return;
    JsonObject json = (JsonObject) display.k();
    boolean show_toast = json.get("show_toast").getAsBoolean();
    boolean announce_to_chat = json.get("announce_to_chat").getAsBoolean();
    if (!show_toast && !announce_to_chat) return;

    event.getPlayer().sendMessage("Вы выполнили ачивку " + event.getAdvancement().getKey());
}
 
Последнее редактирование:
Назад
Верх