Bukkit  1.4.7-R1.0
 All Classes Namespaces Files Functions Variables Enumerator Pages
Door.java
Go to the documentation of this file.
1 package org.bukkit.material;
2 
3 import org.bukkit.Material;
4 import org.bukkit.block.BlockFace;
5 
11 @Deprecated
12 public class Door extends MaterialData implements Directional, Openable {
13  public Door() {
14  super(Material.WOODEN_DOOR);
15  }
16 
17  public Door(final int type) {
18  super(type);
19  }
20 
21  public Door(final Material type) {
22  super(type);
23  }
24 
25  public Door(final int type, final byte data) {
26  super(type, data);
27  }
28 
29  public Door(final Material type, final byte data) {
30  super(type, data);
31  }
32 
36  @Deprecated
37  public boolean isOpen() {
38  return ((getData() & 0x4) == 0x4);
39  }
40 
44  @Deprecated
45  public void setOpen(boolean isOpen) {
46  setData((byte) (isOpen ? (getData() | 0x4) : (getData() & ~0x4)));
47  }
48 
52  public boolean isTopHalf() {
53  return ((getData() & 0x8) == 0x8);
54  }
55 
62  @Deprecated
63  public void setTopHalf(boolean isTopHalf) {
64  setData((byte) (isTopHalf ? (getData() | 0x8) : (getData() & ~0x8)));
65  }
66 
71  @Deprecated
73  byte d = getData();
74 
75  if ((d & 0x3) == 0x3) {
76  return BlockFace.NORTH_WEST;
77  } else if ((d & 0x1) == 0x1) {
78  return BlockFace.SOUTH_EAST;
79  } else if ((d & 0x2) == 0x2) {
80  return BlockFace.SOUTH_WEST;
81  }
82 
83  return BlockFace.NORTH_EAST;
84  }
85 
86  @Override
87  public String toString() {
88  return (isTopHalf() ? "TOP" : "BOTTOM") + " half of " + super.toString();
89  }
90 
97  @Deprecated
98  public void setFacingDirection(BlockFace face) {
99  byte data = (byte) (getData() & 0x12);
100  switch (face) {
101  case NORTH:
102  data |= 0x1;
103  break;
104 
105  case EAST:
106  data |= 0x2;
107  break;
108 
109  case SOUTH:
110  data |= 0x3;
111  break;
112  }
113  setData(data);
114  }
115 
122  @Deprecated
123  public BlockFace getFacing() {
124  byte data = (byte) (getData() & 0x3);
125  switch (data) {
126  case 0:
127  return BlockFace.WEST;
128 
129  case 1:
130  return BlockFace.NORTH;
131 
132  case 2:
133  return BlockFace.EAST;
134 
135  case 3:
136  return BlockFace.SOUTH;
137  }
138  return null; // shouldn't happen
139  }
140 
141  @Override
142  public Door clone() {
143  return (Door) super.clone();
144  }
145 }