forked from df-mc/dragonfly
-
Notifications
You must be signed in to change notification settings - Fork 0
/
prismarine_type.go
59 lines (50 loc) · 1.12 KB
/
prismarine_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
51
52
53
54
55
56
57
58
59
package block
// PrismarineType represents a type of prismarine.
type PrismarineType struct {
prismarine
}
type prismarine uint8
// NormalPrismarine is the normal variant of prismarine.
func NormalPrismarine() PrismarineType {
return PrismarineType{0}
}
// DarkPrismarine is the dark variant of prismarine.
func DarkPrismarine() PrismarineType {
return PrismarineType{1}
}
// BrickPrismarine is the brick variant of prismarine.
func BrickPrismarine() PrismarineType {
return PrismarineType{2}
}
// Uint8 returns the prismarine as a uint8.
func (s prismarine) Uint8() uint8 {
return uint8(s)
}
// Name ...
func (s prismarine) Name() string {
switch s {
case 0:
return "Prismarine"
case 1:
return "Dark Prismarine"
case 2:
return "Prismarine Bricks"
}
panic("unknown prismarine type")
}
// String ...
func (s prismarine) String() string {
switch s {
case 0:
return "default"
case 1:
return "dark"
case 2:
return "bricks"
}
panic("unknown prismarine type")
}
// PrismarineTypes ...
func PrismarineTypes() []PrismarineType {
return []PrismarineType{NormalPrismarine(), DarkPrismarine(), BrickPrismarine()}
}