Add Dropper BlockState. Adds BUKKIT-3750

This commit is contained in:
Xephi 2013-03-21 13:44:20 +01:00 committed by Nate Mortensen
parent 3a0c2f2e03
commit 6b648d14ed
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.
*/