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

Помогите NullPointerException

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

Статус темы:
Закрыта.
  1. Автор темы
    oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Здравствуйте, у меня в консоли бьет ошибку

    Код:
    [19:57:38] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to XPSystem v2.0
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:338) ~[JavaPluginLoader$1.class:1.7.10-1481.144]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[RegisteredListener.class:1.7.10-1481.144]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:507) [SimplePluginManager.class:1.7.10-1481.144]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:492) [SimplePluginManager.class:1.7.10-1481.144]
        at org.bukkit.craftbukkit.v1_7_R4.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:223) [CraftEventFactory.class:1.7.10-1481.144]
        at net.minecraft.server.management.ItemInWorldManager.func_73078_a(ItemInWorldManager.java:427) [mx.class:?]
        at net.minecraft.network.NetHandlerPlayServer.func_147346_a(NetHandlerPlayServer.java:853) [nh.class:?]
        at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.func_148833_a(SourceFile:60) [jo.class:?]
        at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.func_148833_a(SourceFile:9) [jo.class:?]
        at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:244) [ej.class:?]
        at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:173) [nc.class:?]
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:991) [MinecraftServer.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:431) [lt.class:?]
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:809) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:669) [MinecraftServer.class:?]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_40]
    Caused by: java.lang.NullPointerException
        at ru.blayzer.XPSystem.LoreHandler.ValidateEquipedItems(LoreHandler.java:61) ~[?:?]
        at ru.blayzer.XPSystem.LoreHandler.onPlayerInteract(LoreHandler.java:53) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_40]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_40]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_40]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_40]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:334) ~[JavaPluginLoader$1.class:1.7.10-1481.144]
        ... 15 more
    Вот код тех участков на которые жалуется сервер


    Код:
       private void ValidateEquipedItems(Player player) {
          if(player != null) {
             ItemStack[] var5;
             int var4 = (var5 = player.getEquipment().getArmorContents()).length;
    
             ItemStack item;
             for(int var3 = 0; var3 < var4; ++var3) {
                item = var5[var3];
                if(item != null && item.getType() != Material.AIR && !this.MeetsRequirements(player, item)) {
                   this.DropEquipedItem(player, item);
                }
             }
    
             item = player.getInventory().getItemInHand();
             if(item != null && item.getType() != Material.AIR && !this.MeetsRequirements(player, item)) {
                this.DropEquipedItem(player, item);
             }
    
          }
       }
    Подскажите, в чем дело? Где проблема?
     
    Последнее редактирование: 28 ноя 2015
  2. Хостинг MineCraft
    <
  3. GoodCoder

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

    Баллы:
    76
    Искидник класса целиком скиньте, поскольку очень важна нумерация строк.
     
  4. GoodCoder

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

    Баллы:
    76
    Здесь null только может быть.
    Код:
    player.getEquipment().getArmorContents()
     
  5. Автор темы
    oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    И как исправить?
     
  6. GoodCoder

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

    Баллы:
    76
    Проверку на null добавить...
     
  7. Naitora

    Naitora Активный участник

    Баллы:
    61
    Код:
     
    ...
        if(player.getEquipment().getArmorContents()!=null)
        {
            var5 = player.getEquipment().getArmorContents();
            int var4 = var5.length;
        }
        else
            var4 = 0;
    ...
    
     
  8. Автор темы
    oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Так ошибку выдает
    [​IMG]
     
  9. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Код:
    ...
        int var4;
        if(player.getEquipment().getArmorContents()!=null)
        {
            var5 = player.getEquipment().getArmorContents();
            var4 = var5.length;
        }
        else {
            var4 = 0;}
    ...
    
    А вообще приятнее будет немного иначе. Щас скину.[DOUBLEPOST=1448737906,1448737486][/DOUBLEPOST]
    Код:
    // Проверка экиперованных вещей
    private void ValidateEquipedItems(Player player) {
        if(player != null) {
            ItemStack item = player.getInventory().getItemInHand();
            if(item != null && item.getType() != Material.AIR && !this.MeetsRequirements(player, item)) {
                this.DropEquipedItem(player, item);
            }
           
            if (player.getEquipment().getArmorContents() == null) {
                return;
            }
           
            ItemStack[] var5 = player.getEquipment().getArmorContents();
           
            for(ItemStack is : var5) {
                if(is != null && is.getType() != Material.AIR && !this.MeetsRequirements(player, is)) {
                    this.DropEquipedItem(player, is);
                }
            }
        }
    }
     
  10. Автор темы
    oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Спасибо! :3
     
Статус темы:
Закрыта.

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