Solved NullPointerException on item.getDurability();

Discussion in 'Plugin Development' started by Chris32, Apr 21, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    Chris32

    Code:
    //Variable - it's only set to 10 for testing
    int id = 10;
    //Code that throws the exception
    for(ItemStack i : p.getInventory()) {
                if((int) i.getDurability() == this.id) { //LINE 77
                    p.getInventory().remove(i);
                }
            }
    And the error
    Code:
    14:17:53 [SEVERE] Could not pass event EntityDeathEvent to ---
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:427)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62)
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    ava:477)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:462)
            at org.bukkit.craftbukkit.v1_5_R2.event.CraftEventFactory.callEntityDeat
    hEvent(CraftEventFactory.java:318)
            at net.minecraft.server.v1_5_R2.EntityBlaze.dropDeathLoot(EntityBlaze.ja
    va:134)
            at net.minecraft.server.v1_5_R2.EntityLiving.die(EntityLiving.java:909)
            at net.minecraft.server.v1_5_R2.EntityLiving.damageEntity(EntityLiving.j
    ava:766)
            at net.minecraft.server.v1_5_R2.EntityMonster.damageEntity(EntityMonster
    .java:39)
            at net.minecraft.server.v1_5_R2.EntityHuman.attack(EntityHuman.java:873)
     
            at net.minecraft.server.v1_5_R2.PlayerConnection.a(PlayerConnection.java
    :1102)
            at net.minecraft.server.v1_5_R2.Packet7UseEntity.handle(SourceFile:36)
            at net.minecraft.server.v1_5_R2.NetworkManager.b(NetworkManager.java:292
    )
            at net.minecraft.server.v1_5_R2.PlayerConnection.d(PlayerConnection.java
    :110)
            at net.minecraft.server.v1_5_R2.ServerConnection.b(SourceFile:35)
            at net.minecraft.server.v1_5_R2.DedicatedServerConnection.b(SourceFile:3
    0)
            at net.minecraft.server.v1_5_R2.MinecraftServer.r(MinecraftServer.java:5
    80)
            at net.minecraft.server.v1_5_R2.DedicatedServer.r(DedicatedServer.java:2
    25)
            at net.minecraft.server.v1_5_R2.MinecraftServer.q(MinecraftServer.java:4
    76)
            at net.minecraft.server.v1_5_R2.MinecraftServer.run(MinecraftServer.java
    :409)
            at net.minecraft.server.v1_5_R2.ThreadServerApplication.run(SourceFile:5
    73)
    Caused by: java.lang.NullPointerException
            at voxelvein.galess.quests.Quest.finishFor(Quest.java:77)
            at voxelvein.galess.quests.QuestObjectiveKill.onEntityDeath(QuestObjecti
    veKill.java:113)
            at voxelvein.galess.quests.QuestListener.onEntityDeath(QuestListener.jav
    a:31)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            at java.lang.reflect.Method.invoke(Unknown Source)
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:425)
            ... 20 more
    Does anyone have any idea why this is happening? Thanks in advance.
     
  2. Offline

    Austy

    Some slots of Your inventory are empty.
     
  3. Offline

    Chris32

    I still get the error with the following code, and the item doesn't get removed from my inventory. Austy
    Code:
    for(ItemStack i : p.getInventory()) {
                if(i != null) {
                    if(i.getItemMeta().getDisplayName().contains(ChatColor.GOLD + this.name)) {
                        p.getInventory().remove(i);
                    }
                }
            }
     
  4. Offline

    gyroninja

    Maybe check if the item has metadata, check if the get display name is null, and wether this.name is null.
     
    Chris32 likes this.
  5. Offline

    Chris32

    Thanks! That solved it.
     
Thread Status:
Not open for further replies.

Share This Page