-
Notifications
You must be signed in to change notification settings - Fork 59
/
nbt.go
126 lines (111 loc) · 2.18 KB
/
nbt.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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
package nbt
type Nbt map[string]interface{}
type NbtTag byte
const (
NbtTagEnd NbtTag = iota
NbtTagInt8
NbtTagInt16
NbtTagInt32
NbtTagInt64
NbtTagFloat32
NbtTagFloat64
NbtTagByteArray
NbtTagString
NbtTagList
NbtTagNbt
NbtTagInt32Array
NbtTagInt64Array
)
func (this Nbt) Bool(name string) (ret bool, ok bool) {
val, ok := this.Int8(name)
if val == 0 {
ret = false
} else {
ret = true
}
return
}
func (this Nbt) Int8(name string) (ret int8, ok bool) {
var val interface{}
if val, ok = this[name]; ok {
ret, ok = val.(int8)
}
return
}
func (this Nbt) Int16(name string) (ret int16, ok bool) {
var val interface{}
if val, ok = this[name]; ok {
ret, ok = val.(int16)
}
return
}
func (this Nbt) Int32(name string) (ret int32, ok bool) {
var val interface{}
if val, ok = this[name]; ok {
ret, ok = val.(int32)
}
return
}
func (this Nbt) Int64(name string) (ret int64, ok bool) {
var val interface{}
if val, ok = this[name]; ok {
ret, ok = val.(int64)
}
return
}
func (this Nbt) Float32(name string) (ret float32, ok bool) {
var val interface{}
if val, ok = this[name]; ok {
ret, ok = val.(float32)
}
return
}
func (this Nbt) Float64(name string) (ret float64, ok bool) {
var val interface{}
if val, ok = this[name]; ok {
ret, ok = val.(float64)
}
return
}
func (this Nbt) ByteArray(name string) (ret []byte, ok bool) {
var val interface{}
if val, ok = this[name]; ok {
ret, ok = val.([]byte)
}
return
}
func (this Nbt) String(name string) (ret string, ok bool) {
var val interface{}
if val, ok = this[name]; ok {
ret, ok = val.(string)
}
return
}
func (this Nbt) List(name string) (ret NbtList, ok bool) {
var val interface{}
if val, ok = this[name]; ok {
ret, ok = val.(NbtList)
}
return
}
func (this Nbt) Nbt(name string) (ret Nbt, ok bool) {
var val interface{}
if val, ok = this[name]; ok {
ret, ok = val.(Nbt)
}
return
}
func (this Nbt) Int32Array(name string) (ret []int32, ok bool) {
var val interface{}
if val, ok = this[name]; ok {
ret, ok = val.([]int32)
}
return
}
func (this Nbt) Int64Array(name string) (ret []int64, ok bool) {
var val interface{}
if val, ok = this[name]; ok {
ret, ok = val.([]int64)
}
return
}