Checking a player has an item in their slot

Discussion in 'Plugin Development' started by benzimmer123, Feb 10, 2015.

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

    benzimmer123

    Working on a kitpvp soup server and for some reason this never returns true?

    Code:
    p.getInventory().getItem(0) == new ItemStack(Material.MUSHROOM_SOUP)
    Thanks in advance ;)
     
  2. Offline

    HeadGam3z

    Try p.getInventory().getItem(0).getType() == Material.MUSHROOM_SOUP instead.
     
  3. Offline

    benzimmer123

    @HeadGam3z
    Thanks it works :) but it launches an error too...

    Code:
    [17:51:39 WARN]: [MindlessKits] Task #3 for MindlessKits v1.0 generated an excep
    tion
    java.lang.NullPointerException
            at Customkits.minecraft.other.Refiller.ingame(Refiller.java:139) ~[?:?]
            at Customkits.minecraft.essentials.MainClass$1.run(MainClass.java:174) ~
    [?:?]
            at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftTask.run(CraftTask.java
    :53) ~[bukkit.jar:git-Bukkit-1.6.4-R2.0-26-g31d7c5f-b2943jnks]
            at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftScheduler.mainThreadHea
    rtbeat(CraftScheduler.java:345) [bukkit.jar:git-Bukkit-1.6.4-R2.0-26-g31d7c5f-b2
    943jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:5
    83) [bukkit.jar:git-Bukkit-1.6.4-R2.0-26-g31d7c5f-b2943jnks]
            at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:2
    50) [bukkit.jar:git-Bukkit-1.6.4-R2.0-26-g31d7c5f-b2943jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:5
    41) [bukkit.jar:git-Bukkit-1.6.4-R2.0-26-g31d7c5f-b2943jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java
    :453) [bukkit.jar:git-Bukkit-1.6.4-R2.0-26-g31d7c5f-b2943jnks]
            at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6
    17) [bukkit.jar:git-Bukkit-1.6.4-R2.0-26-g31d7c5f-b2943jnks]
     
  4. Offline

    ProMCKingz

    @benzimmer123
    use an if statement something like:
    if(player.getInventory().contains(Material.MUSHROOM_SOUP))
     
  5. Offline

    benzimmer123

    @ProMCKingz
    I'm trying to check if their hotbar has soup in it not the whole inventory.
     
  6. Offline

    ProMCKingz

    @benzimmer123
    You get an NPE, because you aren't checking if it is null, make a null checker before
     
  7. Offline

    SuperOriginal

    @benzimmer123 Check if the slot is null, not if the inventory contains the item.
     
  8. Offline

    benzimmer123

    @SuperOriginal
    Thanks very much! :)

    @ProMCKingz
    Only just saw your comment, thanks too :3

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 13, 2016
    SuperOriginal likes this.
  9. Offline

    1Rogue

    Just a note, using the == operator against anything where you create a new instance will always return false.
     
    ProMCKingz likes this.
  10. Offline

    benzimmer123

    @1Rogue
    Ah! Never knew that thanks, will keep that in mind next time :)
     
Thread Status:
Not open for further replies.

Share This Page