Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
at develop 92 lines 1.9 kB view raw
1package org.bukkit.material; 2 3import org.bukkit.Material; 4import org.bukkit.block.BlockFace; 5 6/** 7 * Represents a pumpkin. 8 */ 9public class Pumpkin extends MaterialData implements Directional { 10 11 public Pumpkin() { 12 super(Material.PUMPKIN); 13 } 14 15 /** 16 * Instantiate a pumpkin facing in a particular direction. 17 * 18 * @param direction the direction the pumkin's face is facing 19 */ 20 public Pumpkin(BlockFace direction) { 21 this(); 22 setFacingDirection(direction); 23 } 24 25 public Pumpkin(final int type) { 26 super(type); 27 } 28 29 public Pumpkin(final Material type) { 30 super(type); 31 } 32 33 public Pumpkin(final int type, final byte data) { 34 super(type, data); 35 } 36 37 public Pumpkin(final Material type, final byte data) { 38 super(type, data); 39 } 40 41 public boolean isLit() { 42 return getItemType() == Material.JACK_O_LANTERN; 43 } 44 45 public void setFacingDirection(BlockFace face) { 46 byte data; 47 48 switch (face) { 49 case EAST: 50 data = 0x0; 51 break; 52 53 case SOUTH: 54 data = 0x1; 55 break; 56 57 case WEST: 58 data = 0x2; 59 break; 60 61 case NORTH: 62 default: 63 data = 0x3; 64 } 65 66 setData(data); 67 } 68 69 public BlockFace getFacing() { 70 byte data = getData(); 71 72 switch (data) { 73 case 0x0: 74 return BlockFace.EAST; 75 76 case 0x1: 77 return BlockFace.SOUTH; 78 79 case 0x2: 80 return BlockFace.WEST; 81 82 case 0x3: 83 default: 84 return BlockFace.SOUTH; 85 } 86 } 87 88 @Override 89 public String toString() { 90 return super.toString() + " facing " + getFacing() + " " + (isLit() ? "" : "NOT ") + "LIT"; 91 } 92}