Add Dropper BlockState. Adds BUKKIT-3750

By: Xephi <xephirot59@gmail.com>
This commit is contained in:
Bukkit/Spigot 2013-03-21 13:44:20 +01:00
parent 0dc86a08f3
commit 1b2a7454d6
3 changed files with 31 additions and 1 deletions

View File

@ -16,6 +16,7 @@ import org.bukkit.material.Command;
import org.bukkit.material.Crops;
import org.bukkit.material.DetectorRail;
import org.bukkit.material.Diode;
import org.bukkit.material.DirectionalContainer;
import org.bukkit.material.Dispenser;
import org.bukkit.material.Door;
import org.bukkit.material.Dye;
@ -220,7 +221,7 @@ public enum Material {
QUARTZ_BLOCK(155),
QUARTZ_STAIRS(156, Stairs.class),
ACTIVATOR_RAIL(157),
DROPPER(158),
DROPPER(158, DirectionalContainer.class),
// ----- Item Separator -----
IRON_SPADE(256, 1, 250),
IRON_PICKAXE(257, 1, 250),

View File

@ -0,0 +1,25 @@
package org.bukkit.block;
import org.bukkit.inventory.InventoryHolder;
/**
* Represents a dropper.
*/
public interface Dropper extends BlockState, InventoryHolder {
/**
* Tries to drop a randomly selected item from the Dropper's inventory,
* following the normal behavior of a Dropper.
* <p />
* Normal behavior of a Dropper is as follows:
* <p />
* If the block that the Dropper is facing is an InventoryHolder or
* ContainerBlock the randomly selected ItemStack is placed within that
* Inventory in the first slot that's available, starting with 0 and
* counting up. If the inventory is full, nothing happens.
* <p />
* If the block that the Dropper is facing is not an InventoryHolder or
* ContainerBlock, the randomly selected ItemStack is dropped on
* the ground in the form of an {@link org.bukkit.entity.Item Item}.
*/
public void drop();
}

View File

@ -9,6 +9,10 @@ public enum InventoryType {
* A dispenser inventory, with 9 slots of type CONTAINER.
*/
DISPENSER(9,"Dispenser"),
/**
* A dropper inventory, with 9 slots of type CONTAINER.
*/
DROPPER(9, "Dropper"),
/**
* A furnace inventory, with a RESULT slot, a CRAFTING slot, and a FUEL slot.
*/