forked from df-mc/dragonfly
-
Notifications
You must be signed in to change notification settings - Fork 0
/
double_tall_grass_type.go
50 lines (42 loc) · 1.09 KB
/
double_tall_grass_type.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package block
// DoubleTallGrassType represents a type of double tall grass, which can be placed on top of grass blocks.
type DoubleTallGrassType struct {
doubleTallGrass
}
// NormalDoubleTallGrass returns the normal variant of double tall grass.
func NormalDoubleTallGrass() DoubleTallGrassType {
return DoubleTallGrassType{0}
}
// FernDoubleTallGrass returns the fern variant of double tall grass.
func FernDoubleTallGrass() DoubleTallGrassType {
return DoubleTallGrassType{1}
}
// DoubleTallGrassTypes returns all variants of double tall grass.
func DoubleTallGrassTypes() []DoubleTallGrassType {
return []DoubleTallGrassType{NormalDoubleTallGrass(), FernDoubleTallGrass()}
}
type doubleTallGrass uint8
// Uint8 ...
func (t doubleTallGrass) Uint8() uint8 {
return uint8(t)
}
// Name ...
func (t doubleTallGrass) Name() string {
switch t {
case 0:
return "Grass"
case 1:
return "Fern"
}
panic("unknown double tall grass type")
}
// String ...
func (t doubleTallGrass) String() string {
switch t {
case 0:
return "grass"
case 1:
return "fern"
}
panic("unknown double tall grass type")
}