|
1 | 1 | /* eslint-disable */
|
2 | 2 | const UUID = require('uuid-1345')
|
3 | 3 | const minecraft = require('./minecraft')
|
4 |
| -const { Read, Write, SizeOf } = require('./varlong') |
| 4 | +const [Read, Write, SizeOf] = [{}, {}, {}] |
5 | 5 |
|
6 | 6 | /**
|
7 | 7 | * UUIDs
|
@@ -116,74 +116,6 @@ Read.lnbt = ['native', minecraft.lnbt[0]]
|
116 | 116 | Write.lnbt = ['native', minecraft.lnbt[1]]
|
117 | 117 | SizeOf.lnbt = ['native', minecraft.lnbt[2]]
|
118 | 118 |
|
119 |
| -/** |
120 |
| - * Bits |
121 |
| - */ |
122 |
| - |
123 |
| -Read.bitflags = ['parametrizable', (compiler, { type, flags, shift, big }) => { |
124 |
| - let fstr = JSON.stringify(flags) |
125 |
| - if (Array.isArray(flags)) { |
126 |
| - fstr = '{' |
127 |
| - flags.map((v, k) => fstr += `"${v}": ${big ? 1n << BigInt(k) : 1 << k}` + (big ? 'n,' : ',')) |
128 |
| - fstr += '}' |
129 |
| - } else if (shift) { |
130 |
| - fstr = '{' |
131 |
| - for (const key in flags) fstr += `"${key}": ${1 << flags[key]},`; |
132 |
| - fstr += '}' |
133 |
| - } |
134 |
| - return compiler.wrapCode(` |
135 |
| - const { value: _value, size } = ${compiler.callType(type, 'offset')} |
136 |
| - const value = { _value } |
137 |
| - const flags = ${fstr} |
138 |
| - for (const key in flags) { |
139 |
| - value[key] = (_value & flags[key]) == flags[key] |
140 |
| - } |
141 |
| - return { value, size } |
142 |
| - `.trim()) |
143 |
| -}] |
144 |
| - |
145 |
| -Write.bitflags = ['parametrizable', (compiler, { type, flags, shift, big }) => { |
146 |
| - let fstr = JSON.stringify(flags) |
147 |
| - if (Array.isArray(flags)) { |
148 |
| - fstr = '{' |
149 |
| - flags.map((v, k) => fstr += `"${v}": ${big ? 1n << BigInt(k) : 1 << k}` + (big ? 'n,' : ',')) |
150 |
| - fstr += '}' |
151 |
| - } else if (shift) { |
152 |
| - fstr = '{' |
153 |
| - for (const key in flags) fstr += `"${key}": ${1 << flags[key]},`; |
154 |
| - fstr += '}' |
155 |
| - } |
156 |
| - return compiler.wrapCode(` |
157 |
| - const flags = ${fstr} |
158 |
| - let val = value._value ${big ? '|| 0n' : ''} |
159 |
| - for (const key in flags) { |
160 |
| - if (value[key]) val |= flags[key] |
161 |
| - } |
162 |
| - return (ctx.${type})(val, buffer, offset) |
163 |
| - `.trim()) |
164 |
| -}] |
165 |
| - |
166 |
| -SizeOf.bitflags = ['parametrizable', (compiler, { type, flags, shift, big }) => { |
167 |
| - let fstr = JSON.stringify(flags) |
168 |
| - if (Array.isArray(flags)) { |
169 |
| - fstr = '{' |
170 |
| - flags.map((v, k) => fstr += `"${v}": ${big ? 1n << BigInt(k) : 1 << k}` + (big ? 'n,' : ',')) |
171 |
| - fstr += '}' |
172 |
| - } else if (shift) { |
173 |
| - fstr = '{' |
174 |
| - for (const key in flags) fstr += `"${key}": ${1 << flags[key]},`; |
175 |
| - fstr += '}' |
176 |
| - } |
177 |
| - return compiler.wrapCode(` |
178 |
| - const flags = ${fstr} |
179 |
| - let val = value._value ${big ? '|| 0n' : ''} |
180 |
| - for (const key in flags) { |
181 |
| - if (value[key]) val |= flags[key] |
182 |
| - } |
183 |
| - return (ctx.${type})(val) |
184 |
| - `.trim()) |
185 |
| -}] |
186 |
| - |
187 | 119 | /**
|
188 | 120 | * Command Packet
|
189 | 121 | * - used for determining the size of the following enum
|
|
0 commit comments