Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
1package org.bukkit.material;
2
3import org.bukkit.Material;
4import org.bukkit.block.BlockFace;
5
6/**
7 * MaterialData for torches
8 */
9public class Torch extends SimpleAttachableMaterialData {
10 public Torch() {
11 super(Material.TORCH);
12 }
13
14 public Torch(final int type) {
15 super(type);
16 }
17
18 public Torch(final Material type) {
19 super(type);
20 }
21
22 public Torch(final int type, final byte data) {
23 super(type, data);
24 }
25
26 public Torch(final Material type, final byte data) {
27 super(type, data);
28 }
29
30 /**
31 * Gets the face that this block is attached on
32 *
33 * @return BlockFace attached to
34 */
35 public BlockFace getAttachedFace() {
36 byte data = getData();
37
38 switch (data) {
39 case 0x1:
40 return BlockFace.NORTH;
41
42 case 0x2:
43 return BlockFace.SOUTH;
44
45 case 0x3:
46 return BlockFace.EAST;
47
48 case 0x4:
49 return BlockFace.WEST;
50
51 case 0x5:
52 return BlockFace.DOWN;
53 }
54
55 return null;
56 }
57
58 public void setFacingDirection(BlockFace face) {
59 byte data;
60
61 switch (face) {
62 case SOUTH:
63 data = 0x1;
64 break;
65
66 case NORTH:
67 data = 0x2;
68 break;
69
70 case WEST:
71 data = 0x3;
72 break;
73
74 case EAST:
75 data = 0x4;
76 break;
77
78 case UP:
79 default:
80 data = 0x5;
81 }
82
83 setData(data);
84 }
85}