Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

Помогите Null Pointer в Gui

Discussion in 'Разработка плагинов для новичков' started by Fenix78563, Dec 2, 2016.

Thread Status:
Not open for further replies.
  1. Автор темы
    Fenix78563

    Fenix78563 Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    Дорого времени суток, форумчане.

    Выкидывает NullPointer
    Code:
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[server.jar:git-Spigot-90f61bc-6053c5c]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[server.jar:git-Spigot-90f61bc-6053c5c]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [server.jar:git-Spigot-90f61bc-6053c5c]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [server.jar:git-Spigot-90f61bc-6053c5c]
        at net.minecraft.server.v1_10_R1.PlayerConnection.a(PlayerConnection.java:1854) [server.jar:git-Spigot-90f61bc-6053c5c]
        at net.minecraft.server.v1_10_R1.PacketPlayInWindowClick.a(SourceFile:33) [server.jar:git-Spigot-90f61bc-6053c5c]
        at net.minecraft.server.v1_10_R1.PacketPlayInWindowClick.a(SourceFile:10) [server.jar:git-Spigot-90f61bc-6053c5c]
        at net.minecraft.server.v1_10_R1.PlayerConnectionUtils$1.run(SourceFile:13) [server.jar:git-Spigot-90f61bc-6053c5c]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_101]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_101]
        at net.minecraft.server.v1_10_R1.SystemUtils.a(SourceFile:45) [server.jar:git-Spigot-90f61bc-6053c5c]
        at net.minecraft.server.v1_10_R1.MinecraftServer.D(MinecraftServer.java:732) [server.jar:git-Spigot-90f61bc-6053c5c]
        at net.minecraft.server.v1_10_R1.DedicatedServer.D(DedicatedServer.java:400) [server.jar:git-Spigot-90f61bc-6053c5c]
        at net.minecraft.server.v1_10_R1.MinecraftServer.C(MinecraftServer.java:668) [server.jar:git-Spigot-90f61bc-6053c5c]
        at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:567) [server.jar:git-Spigot-90f61bc-6053c5c]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]
    Caused by: java.lang.NullPointerException
        at ru.blc.Plugin.GUI.onInventoryClick(GUI.java:133) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[server.jar:git-Spigot-90f61bc-6053c5c]
        ... 15 more
    
    Проблемная строка тут
    Code:
    meta.setLore(lore);
    
    Я так понимаю, что я присваиваю пустой ячейке какой то lore и это выдает ошибку, но проблема в том, что у меня стоит проверка на пустую вещь, и ячейка ее почему то не проходит

    Code:
    if (e.getCurrentItem() == null) {
                        return;
                    }
    
    В чем может быть проблема?
     
  2. Хостинг MineCraft
    <
  3. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Trophy Points:
    46
    Ссылка meta есть null, я думаю.Попробуй добавить проверку e.getCurrentItem().hasItemMeta();
     
  4. TheZefirrkka

    TheZefirrkka Активный участник Пользователь

    Trophy Points:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    +1, проверяй на мету
     
  5. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    x2 Сперва создай мету.
     
  6. Автор темы
    Fenix78563

    Fenix78563 Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    создана.

    Это конечно помогло, но фишка в том, что он выполняет действия которые стоят под return => он считает пустые ячейки как не пустые, и в итоге он продолжает работать и выдавать и выдавать различные сообщения, даже при клике по пустым ячейкам
     
  7. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Trophy Points:
    46
    Ты проверял ItemStack на null, а не ItemMeta.
     
  8. Автор темы
    Fenix78563

    Fenix78563 Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    если я кликаю по пустой ячейке, и у меня есть код
    Code:
    if (e.getCurrentItem() == null) {
                       return;
                   }
    
    то как он вообще дойдет до строки с itemmeta
     
    Last edited: Dec 3, 2016
  9. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Trophy Points:
    46
    Ну, если бы ты предоставил код, то я бы сказал точно, что произошло.А так...Может быть несколько вариантов.
     
  10. Автор темы
    Fenix78563

    Fenix78563 Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    смотрите внимательнее мое первое сообщение.


    Я в общем то уже и разобрался, у меня там почему то лежит не пустая вещь, а воздух. Поэтому он не проходил проверку на пустоту => не получал команду return и выполнял код дальше.
     
  11. Автор темы
    Fenix78563

    Fenix78563 Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    але, блин

    upload_2016-12-3_12-6-47.png
     
  12. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
  13. TheZefirrkka

    TheZefirrkka Активный участник Пользователь

    Trophy Points:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
  14. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Trophy Points:
    46
    А зачем?Проверку не проходило из-за того, что пустой слот это не null а Material.AIR, соотв. и return не происходил.А потом он пытался получить с этого мету, а получить мету с пустого слота немного затруднительно, из-за чего и вылетала ошибка.Проблема уже решена.
     
  15. Dymeth

    Dymeth Активный участник Пользователь

    Trophy Points:
    76
    В одних версиях пустой слот - Material.AIR, а в других - null.
    Такая же путанница с событиями.

    Я, правда, не понимаю, почему ТС не хочет предоставить full код...
     
  16. DonDays

    DonDays Активный участник Пользователь

    Trophy Points:
    96
    Имя в Minecraft:
    DonDays
    Чтобы палками не били
     
  17. Автор темы
    Fenix78563

    Fenix78563 Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    он очень большой, в таком долго копаться
     
  18. DonDays

    DonDays Активный участник Пользователь

    Trophy Points:
    96
    Имя в Minecraft:
    DonDays
    Pastebin
     
  19. Автор темы
    Fenix78563

    Fenix78563 Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    да какая разница куда. никто не будет лопатить ~500-600 строк
     
  20. KobaltMr

    KobaltMr Активный участник Пользователь

    Trophy Points:
    88
    Skype:
    mr.dill9
    Помойму это не так уж и много
     
Thread Status:
Not open for further replies.

Share This Page