Помогите Использование papi

  • Автор темы Автор темы Kurumi
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Kurumi

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Kurumi
Всем привет.
Мне нужно использовать переменную из моего плагина в чате другого плагина (Chatty).
Код:
У меня есть переменная %carOwner%
Мне нужно, чтобы в чате из плагина Chatty перед моим ником отображалась эта переменная, своего рода префикс.
Как я понял, это реализуется через papi, но вот вопрос.. Как это всё дело использовать?
Я нашел инструкцию на гитхабе, но не понимаю, как это должно работать!

Кто работал с papi, подскажите плес
 
Всем привет.
Мне нужно использовать переменную из моего плагина в чате другого плагина (Chatty).
Код:
У меня есть переменная %carOwner%
Мне нужно, чтобы в чате из плагина Chatty перед моим ником отображалась эта переменная, своего рода префикс.
Как я понял, это реализуется через papi, но вот вопрос.. Как это всё дело использовать?
Я нашел инструкцию на гитхабе, но не понимаю, как это должно работать!

Кто работал с papi, подскажите плес
Всё, что от тебя требуется - зарегистрировать плейсхолдер в PAPI. Всё.
 
Это не так делается, дурачек 😁. Тебе нужно реплейсить свой тег в AsyncPlayerChatEvent.
Не нужны тут никакие костыли с papi.
 
Выставляй высокий приоритет ивенту AsyncPlayerChatEvent.
Бери собственно текст от туда, заменяй нужный заполнитель на свою переменную, устанавливай измененный текст назад.
 
Собсна, вот что получается по советам выше...

PHP:
[17:55:59] [Async Chat Thread - #0/ERROR]: Could not pass event AsyncPlayerChatEvent to Chatty v2.15.2
java.util.UnknownFormatConversionException: Conversion = 'to'
    at org.bukkit.event.player.AsyncPlayerChatEvent.setFormat(AsyncPlayerChatEvent.java:103) ~[patched_1.13.2.jar:git-Paper-632]
    at ru.mrbrikster.chatty.chat.ChatListener.onChat(ChatListener.java:148) ~[?:?]
    at ru.mrbrikster.chatty.chat.ChatListener.execute(ChatListener.java:90) ~[?:?]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[patched_1.13.2.jar:git-Paper-632]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:66) ~[patched_1.13.2.jar:git-Paper-632]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:520) ~[patched_1.13.2.jar:git-Paper-632]
    at net.minecraft.server.v1_13_R2.PlayerConnection.chat(PlayerConnection.java:1696) ~[patched_1.13.2.jar:git-Paper-632]
    at net.minecraft.server.v1_13_R2.PlayerConnection.a(PlayerConnection.java:1611) ~[patched_1.13.2.jar:git-Paper-632]
    at net.minecraft.server.v1_13_R2.PacketPlayInChat$1.run(PacketPlayInChat.java:39) ~[patched_1.13.2.jar:git-Paper-632]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_181]
    at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_181]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_181]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_181]

Code:
PHP:
@EventHandler(priority = EventPriority.LOWEST)
public void chat(AsyncPlayerChatEvent event) {
    if(event.getFormat().contains("%town%")) {
        if(PlayerUtils.hasTown(event.getPlayer().getUniqueId().toString())) {
            event.setFormat(event.getFormat()
                    .replace("%town%", PlayerUtils.getTownByPlayerUuid(event.getPlayer().getUniqueId().toString()).getName()));
        }
    }
}

chatty cfg:

PHP:
local:
    enable: true
    format: '[Local] %town%{prefix}{player}{suffix}: {message}'
    range: 100
    cooldown: -1
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх