Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

PlaceholderAPI выдает ошибку

Статус
Закрыто для дальнейших ответов.

VladNotch

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Frontalvlad
Выдает вот такую ошибку.
Код:
java.lang.NullPointerException: Cannot invoke "me.clip.placeholderapi.PlaceholderAPIPlugin.getLocalExpansionManager()" because the return value of "me.clip.placeholderapi.PlaceholderAPIPlugin.getInstance()" is null
При том, плейсхолдерапи добавлен в библиотеки проекта.
В чем может быть проблема?
upload_2023-6-15_20-56-38.png
 
В том, что твой плагин загружается до PAPI. Корректно укажи зависимость в PAPI
 
В том, что твой плагин загружается до PAPI. Корректно укажи зависимость в PAPI
Разве если я укажу в plugin.yml
Код:
depend:
  - PlaceholderAPI
он не должен сначала ждать запуска PAPI? Что именно мне нужно тогда сделать?
 
Последнее редактирование:
Тот, при вызове которого возникает ошибка.


Показывай полную ошибку значит
HTML:
[15:50:07 WARN]: [TestPlugin] Plugin TestPlugin v0.0.1 generated an exception whilst handling plugin message
java.lang.NullPointerException: Cannot invoke "me.clip.placeholderapi.PlaceholderAPIPlugin.getLocalExpansionManager()" because the return value of "me.clip.placeholderapi.PlaceholderAPIPlugin.getInstance()" is null
        at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:72) ~[bukkit.jar:?]
        at me.clip.placeholderapi.PlaceholderAPI.lambda$setPlaceholders$0(PlaceholderAPI.java:86) ~[bukkit.jar:?]
        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
        at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?]
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
        at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
        at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?]
        at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:86) ~[bukkit.jar:?]
        at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:112) ~[bukkit.jar:?]
        at su.frontalvlad.bukkit.gui.items.FriendsItems.getButton(FriendsItems.java:126) ~[bukkit.jar:?]
        at su.frontalvlad.bukkit.gui.items.FriendsItems.getFriends(FriendsItems.java:50) ~[bukkit.jar:?]
        at su.frontalvlad.bukkit.gui.FriendsGUI.<init>(FriendsGUI.java:26) ~[bukkit.jar:?]
        at su.frontalvlad.bukkit.listeners.PluginMessageListener.onPluginMessageReceived(PluginMessageListener.java:26) ~[bukkit.jar:?]
        at org.bukkit.plugin.messaging.StandardMessenger.dispatchIncomingMessage(StandardMessenger.java:455) ~[paper-api-1.19.1-R0.1-SNAPSHOT.jar:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.handleCustomPayload(ServerGamePacketListenerImpl.java:3682) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundCustomPayloadPacket.handle(ServerboundCustomPayloadPacket.java:37) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundCustomPayloadPacket.handle(ServerboundCustomPayloadPacket.java:15) ~[?:?]
        at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:51) ~[?:?]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.19.1.jar:git-Paper-111]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1359) ~[paper-1.19.1.jar:git-Paper-111]
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:185) ~[paper-1.19.1.jar:git-Paper-111]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1336) ~[paper-1.19.1.jar:git-Paper-111]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1329) ~[paper-1.19.1.jar:git-Paper-111]
        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
        at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1307) ~[paper-1.19.1.jar:git-Paper-111]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1195) ~[paper-1.19.1.jar:git-Paper-111]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:305) ~[paper-1.19.1.jar:git-Paper-111]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]

Та 126 строка, которая вызывает ошибку. Сразу скажу, что значение в конфиге присутствует точно, option, plr и description также не равны null.
PHP:
description.addAll(PlaceholderAPI.setPlaceholders(plr, configuration.getStringList(String.format("gui.items.%s.lore", option))));
 
В ошибке плагин называется TestPlugin, в логах запуска его вообще не видно
 
jar называется bukkit, и артефакт тоже. Я пробовал менять название, не помогло.
1) Убедись, что твой плагин запускается после PAPI. По предоставленной тобой информации нельзя достоверно сказать, так ли это
2) Убедись, что установлена последняя версия ядра и PAPI
3) Убедись, что в джарник своего плагина НЕ добавляешь классы PAPI
4) Протестируй, работает ли всё, если отключить все плагины кроме твоего и PAPI
 
1) Убедись, что твой плагин запускается после PAPI. По предоставленной тобой информации нельзя достоверно сказать, так ли это
2) Убедись, что установлена последняя версия ядра и PAPI
3) Убедись, что в джарник своего плагина НЕ добавляешь классы PAPI
4) Протестируй, работает ли всё, если отключить все плагины кроме твоего и PAPI

1)
PHP:
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
            this.getServer().getLogger().info("PlaceholderAPI plugin found and working.");
        }
upload_2023-6-16_3-18-56.png
2)Ядро у меня 1.19.4. PlaceholderAPI 2.11.3 (последняя версия)
3) Я опять же говорю, я использую там только PlaceholderAPI.setPlaceholders();
4) Кроме PlaceholderAPI и моего плагина, там стоит лишь HeadDatabase, который также входит в зависимости плагина и стабильно работает.

Писал кстати в HelpChat, мне там только советовали обновить зависимости Maven, и т.д. и т.п., что также не помогло.
 
3) Я опять же говорю, я использую там только PlaceholderAPI.setPlaceholders();
Причём тут это? Я говорю проверить, что в джарнике твоего плагина нет классов PAPI. Архиватором открой и посмотри
 
Ну так ты зависимость оставь, только из джарника исключи
Понял, спасибо огромное :good: Просто почему-то раньше даже когда он зависимостях был, все работало нормально, сейчас удалил из jar, заработало. Еще раз спасибо, закрываю тему.
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх