001 package org.bukkit.block;
002
003 import org.bukkit.inventory.InventoryHolder;
004
005 /**
006 * Represents a dropper.
007 */
008 public interface Dropper extends BlockState, InventoryHolder {
009 /**
010 * Tries to drop a randomly selected item from the Dropper's inventory,
011 * following the normal behavior of a Dropper.
012 * <p>
013 * Normal behavior of a Dropper is as follows:
014 * <p>
015 * If the block that the Dropper is facing is an InventoryHolder or
016 * ContainerBlock the randomly selected ItemStack is placed within that
017 * Inventory in the first slot that's available, starting with 0 and
018 * counting up. If the inventory is full, nothing happens.
019 * <p>
020 * If the block that the Dropper is facing is not an InventoryHolder or
021 * ContainerBlock, the randomly selected ItemStack is dropped on
022 * the ground in the form of an {@link org.bukkit.entity.Item Item}.
023 */
024 public void drop();
025 }