Bukkit
1.4.7-R1.0
Main Page
Related Pages
Classes
Files
File List
All
Classes
Namespaces
Files
Functions
Variables
Enumerator
Pages
Sign.java
Go to the documentation of this file.
1
package
org.bukkit.material;
2
3
import
org.bukkit.block.BlockFace;
4
import
org.bukkit.Material;
5
9
public
class
Sign
extends
MaterialData
implements
Attachable
{
10
public
Sign
() {
11
super(
Material
.
SIGN_POST
);
12
}
13
14
public
Sign
(
final
int
type) {
15
super(type);
16
}
17
18
public
Sign
(
final
Material
type) {
19
super(type);
20
}
21
22
public
Sign
(
final
int
type,
final
byte data) {
23
super(type, data);
24
}
25
26
public
Sign
(
final
Material
type,
final
byte data) {
27
super(type, data);
28
}
29
36
public
boolean
isWallSign
() {
37
return
getItemType
() ==
Material
.
WALL_SIGN
;
38
}
39
45
public
BlockFace
getAttachedFace
() {
46
if
(
isWallSign
()) {
47
byte data =
getData
();
48
49
switch
(data) {
50
case
0x2:
51
return
BlockFace
.
SOUTH
;
52
53
case
0x3:
54
return
BlockFace
.
NORTH
;
55
56
case
0x4:
57
return
BlockFace
.
EAST
;
58
59
case
0x5:
60
return
BlockFace
.
WEST
;
61
}
62
63
return
null;
64
}
else
{
65
return
BlockFace
.
DOWN
;
66
}
67
}
68
74
public
BlockFace
getFacing
() {
75
byte data =
getData
();
76
77
if
(!
isWallSign
()) {
78
switch
(data) {
79
case
0x0:
80
return
BlockFace
.
SOUTH
;
81
82
case
0x1:
83
return
BlockFace
.
SOUTH_SOUTH_WEST
;
84
85
case
0x2:
86
return
BlockFace
.
SOUTH_WEST
;
87
88
case
0x3:
89
return
BlockFace
.
WEST_SOUTH_WEST
;
90
91
case
0x4:
92
return
BlockFace
.
WEST
;
93
94
case
0x5:
95
return
BlockFace
.
WEST_NORTH_WEST
;
96
97
case
0x6:
98
return
BlockFace
.
NORTH_WEST
;
99
100
case
0x7:
101
return
BlockFace
.
NORTH_NORTH_WEST
;
102
103
case
0x8:
104
return
BlockFace
.
NORTH
;
105
106
case
0x9:
107
return
BlockFace
.
NORTH_NORTH_EAST
;
108
109
case
0xA:
110
return
BlockFace
.
NORTH_EAST
;
111
112
case
0xB:
113
return
BlockFace
.
EAST_NORTH_EAST
;
114
115
case
0xC:
116
return
BlockFace
.
EAST
;
117
118
case
0xD:
119
return
BlockFace
.
EAST_SOUTH_EAST
;
120
121
case
0xE:
122
return
BlockFace
.
SOUTH_EAST
;
123
124
case
0xF:
125
return
BlockFace
.
SOUTH_SOUTH_EAST
;
126
}
127
128
return
null;
129
}
else
{
130
return
getAttachedFace
().
getOppositeFace
();
131
}
132
}
133
134
public
void
setFacingDirection
(
BlockFace
face) {
135
byte data;
136
137
if
(
isWallSign
()) {
138
switch
(face) {
139
case
NORTH:
140
data = 0x2;
141
break
;
142
143
case
SOUTH:
144
data = 0x3;
145
break
;
146
147
case
WEST:
148
data = 0x4;
149
break
;
150
151
case
EAST:
152
default
:
153
data = 0x5;
154
}
155
}
else
{
156
switch
(face) {
157
case
SOUTH:
158
data = 0x0;
159
break
;
160
161
case
SOUTH_SOUTH_WEST:
162
data = 0x1;
163
break
;
164
165
case
SOUTH_WEST:
166
data = 0x2;
167
break
;
168
169
case
WEST_SOUTH_WEST:
170
data = 0x3;
171
break
;
172
173
case
WEST:
174
data = 0x4;
175
break
;
176
177
case
WEST_NORTH_WEST:
178
data = 0x5;
179
break
;
180
181
case
NORTH_WEST:
182
data = 0x6;
183
break
;
184
185
case
NORTH_NORTH_WEST:
186
data = 0x7;
187
break
;
188
189
case
NORTH:
190
data = 0x8;
191
break
;
192
193
case
NORTH_NORTH_EAST:
194
data = 0x9;
195
break
;
196
197
case
NORTH_EAST:
198
data = 0xA;
199
break
;
200
201
case
EAST_NORTH_EAST:
202
data = 0xB;
203
break
;
204
205
case
EAST:
206
data = 0xC;
207
break
;
208
209
case
EAST_SOUTH_EAST:
210
data = 0xD;
211
break
;
212
213
case
SOUTH_SOUTH_EAST:
214
data = 0xF;
215
break
;
216
217
case
SOUTH_EAST:
218
default
:
219
data = 0xE;
220
}
221
}
222
223
setData
(data);
224
}
225
226
@Override
227
public
String
toString
() {
228
return
super.toString() +
" facing "
+
getFacing
();
229
}
230
231
@Override
232
public
Sign
clone
() {
233
return
(
Sign
) super.
clone
();
234
}
235
}
org
bukkit
material
Sign.java
Generated on Sat May 18 2013 07:16:31 for Bukkit by
1.8.2