What event is called when an item is dropped from a furnace/player?

Discussion in 'Plugin Development' started by beanonaboard, Apr 21, 2014.

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

    beanonaboard

    Yeh I am just wondering what event is called from when a item is dropped?
     
  2. Offline

    Alshain01

  3. Offline

    beanonaboard

  4. Offline

    Alshain01

    beanonaboard Oh I see. You have to monitor the BlockBreakEvent and check the block's type to see if it is a furnace. If it is, do event.getBlock().getDrops().clear();

    I think that will work, but typically getDrops is for things like mining stuff (coal, diamonds, cobblestone, etc) So it may not work for inventory blocks and you will have to cast it to a Furnace and then clear it's inventory instead.

    Code:java
    1. if(event.getBlock().getType() == Material.FURNACE) {
    2. ((Furnace)event.getBlock()).getInventory().clear();
    3. }
     
  5. Offline

    beanonaboard


    Thank you for that but whenever I use this I get an error

    The code I have used (lines 41 -45)

    Code:java
    1. Block b = Bukkit.getWorld("competition").getBlockAt(x, y, z);
    2. if(b.getType() == Material.FURNACE)
    3. { ((Furnace)b).getInventory().clear();
    4. }


    Stacktrace
    Code:
    [20:27:39 WARN]: [MineAndCraft] Task #58 for MineAndCraft v0.1 generated an exce
    ption
    java.lang.ClassCastException: org.bukkit.craftbukkit.v1_7_R3.block.CraftBlock ca
    nnot be cast to org.bukkit.block.Furnace
            at me.beanonaboard.MineAndCraft.RestoringArena.createArena(RestoringAren
    a.java:43) ~[?:?]
            at me.beanonaboard.MineAndCraft.ArenaManager$2.run(ArenaManager.java:212
    ) ~[?:?]
            at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftTask.run(CraftTask.java
    :53) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
            at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftScheduler.mainThreadHea
    rtbeat(CraftScheduler.java:345) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-20-g62bdf
    a8-b3048jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:6
    00) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
            at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:2
    60) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:5
    58) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java
    :469) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
            at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:6
    28) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
    [20:27:39 WARN]: [MineAndCraft] Task #58 for MineAndCraft v0.1 generated an exce
    ption
    java.lang.ClassCastException: org.bukkit.craftbukkit.v1_7_R3.block.CraftBlock ca
    nnot be cast to org.bukkit.block.Furnace
            at me.beanonaboard.MineAndCraft.RestoringArena.createArena(RestoringAren
    a.java:43) ~[?:?]
            at me.beanonaboard.MineAndCraft.ArenaManager$2.run(ArenaManager.java:212
    ) ~[?:?]
            at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftTask.run(CraftTask.java
    :53) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
            at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftScheduler.mainThreadHea
    rtbeat(CraftScheduler.java:345) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-20-g62bdf
    a8-b3048jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:6
    00) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
            at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:2
    60) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:5
    58) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java
    :469) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
            at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:6
    28) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-20-g62bdfa8-b3048jnks]
     
  6. Offline

    xTigerRebornx

    beanonaboard Cast the BlockState to Furnace, not the Block
     
    beanonaboard likes this.
  7. Offline

    beanonaboard

    thank you!
     
Thread Status:
Not open for further replies.

Share This Page