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

[Решено]Нужна помощь с исправление ошибки

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

  1. Автор темы
    RedEnergy

    RedEnergy Старожил Пользователь

    Баллы:
    103
    Добрый день, пишу плагин на рефералки. При первом входе игрок может ввести команду /rf <friend name> и указать игрока который позвал его на сервер. Однако сейчас вылетает ошибка
    [16:46:28] [Server thread/ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'rf' in plugin SimpleReferral v1
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180) ~[craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:740) ~[craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.PlayerConnection.handleCommand(PlayerConnection.java:957) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:818) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.PacketPlayInChat.a(PacketPlayInChat.java:28) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.PacketPlayInChat.handle(PacketPlayInChat.java:47) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:157) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.ServerConnection.c(SourceFile:134) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:667) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:258) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:558) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:469) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    Caused by: java.lang.IllegalArgumentException: owningPlugin cannot be null
    at org.apache.commons.lang.Validate.notNull(Validate.java:203) ~[craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at org.bukkit.metadata.MetadataValueAdapter.<init>(MetadataValueAdapter.java:20) ~[craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at org.bukkit.metadata.LazyMetadataValue.<init>(LazyMetadataValue.java:61) ~[craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at org.bukkit.metadata.FixedMetadataValue.<init>(FixedMetadataValue.java:30) ~[craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at aq.redenergy.simpleref.SimpleReferral.onCommand(SimpleReferral.java:76) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    ... 13 more
    Исходники на GitHub
     
  2. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Исходники или ошибка старые. На 76 строке сейчас "} else {"
     
  3. aceJKE

    aceJKE Старожил Пользователь

    Баллы:
    123
     
  4. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    И что? Видно, что ошибка бросается не в плагине, а значит надо смотреть на стактрейс.
     
  5. aceJKE

    aceJKE Старожил Пользователь

    Баллы:
    123
    Он переменную plugin не инициализировал. Да и вообще можно просто this ему использовать. Тем более, что private org.bukkit.plugin.Plugin plugin
     
  6. Автор темы
    RedEnergy

    RedEnergy Старожил Пользователь

    Баллы:
    103
    Обновил исходники, текущая ошибка ниже
    [18:16:37] [Server thread/ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'rf' in plugin SimpleReferral v1
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180) ~[craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:740) ~[craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.PlayerConnection.handleCommand(PlayerConnection.java:957) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:818) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.PacketPlayInChat.a(PacketPlayInChat.java:28) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.PacketPlayInChat.handle(PacketPlayInChat.java:47) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:157) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.ServerConnection.c(SourceFile:134) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:667) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:258) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:558) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:469) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    Caused by: java.lang.IllegalArgumentException: owningPlugin cannot be null
    at org.apache.commons.lang.Validate.notNull(Validate.java:203) ~[craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at org.bukkit.metadata.MetadataValueAdapter.<init>(MetadataValueAdapter.java:20) ~[craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at org.bukkit.metadata.LazyMetadataValue.<init>(LazyMetadataValue.java:61) ~[craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at org.bukkit.metadata.FixedMetadataValue.<init>(FixedMetadataValue.java:30) ~[craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    at aq.redenergy.simpleref.SimpleReferral.onCommand(SimpleReferral.java:76) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit-1.7.10.jar:git-Bukkit-1.7.9-R0.2-18-ga04b586-b3107jnks]
    ... 13 more
     
  7. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    То же самое.
     
  8. aceJKE

    aceJKE Старожил Пользователь

    Баллы:
    123
    Еще
    1.Класс не расширяем интерфейсом CommandExecutor.
    2.Команда rf не зарегистрирована.
     
  9. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    JavaPlugin уже использует CommandExecutor.
     
  10. aceJKE

    aceJKE Старожил Пользователь

    Баллы:
    123
    Этого не знал, всегда пишу в других классах, а в исходники не смотрел, спасибо, буду знать.
     
  11. Автор темы
    RedEnergy

    RedEnergy Старожил Пользователь

    Баллы:
    103
    Команда rf зарегистрирована, смотри plugin.yml
     
  12. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Она должна быть зарегистрирована через getCommand().setExecutor()
     
  13. aceJKE

    aceJKE Старожил Пользователь

    Баллы:
    123
    смотрю код и не вижу getCommand("команда").setExecutor(класс);
     
  14. Автор темы
    RedEnergy

    RedEnergy Старожил Пользователь

    Баллы:
    103
    Я думал регистрация команды подразумевает plugin.yml. Можно поподробнеепо "getCommand().setExecutor"?
     
  15. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
     
  16. Автор темы
    RedEnergy

    RedEnergy Старожил Пользователь

    Баллы:
    103
    Спасибо вам обоим, все работает. Прошу прощения за тупость, ведь все с чего-то начинали :good:
     

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