@vaitosoi/minejs 0.4.3 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/README.md +12 -4
  2. package/assets/minecraft/26.2/effects.json +42 -0
  3. package/assets/minecraft/26.2/packets.json +1 -1
  4. package/dist/base/bitset.d.ts +43 -4
  5. package/dist/base/bitset.d.ts.map +1 -1
  6. package/dist/base/bitset.js +251 -30
  7. package/dist/base/bitset.js.map +1 -1
  8. package/dist/base/buffer.d.ts +1 -0
  9. package/dist/base/buffer.d.ts.map +1 -1
  10. package/dist/base/buffer.js +1 -0
  11. package/dist/base/buffer.js.map +1 -1
  12. package/dist/base/cache.d.ts +24 -0
  13. package/dist/base/cache.d.ts.map +1 -0
  14. package/dist/base/cache.js +58 -0
  15. package/dist/base/cache.js.map +1 -0
  16. package/dist/base/error.d.ts +7 -0
  17. package/dist/base/error.d.ts.map +1 -1
  18. package/dist/base/error.js +12 -1
  19. package/dist/base/error.js.map +1 -1
  20. package/dist/base/http.d.ts +1 -0
  21. package/dist/base/http.d.ts.map +1 -1
  22. package/dist/base/http.js +1 -0
  23. package/dist/base/http.js.map +1 -1
  24. package/dist/base/math.d.ts +14 -0
  25. package/dist/base/math.d.ts.map +1 -1
  26. package/dist/base/math.js +41 -0
  27. package/dist/base/math.js.map +1 -1
  28. package/dist/base/typing.d.ts +12 -0
  29. package/dist/base/typing.d.ts.map +1 -1
  30. package/dist/{packet → binary}/decoder.d.ts +4 -0
  31. package/dist/binary/decoder.d.ts.map +1 -0
  32. package/dist/{packet → binary}/decoder.js +4 -0
  33. package/dist/binary/decoder.js.map +1 -0
  34. package/dist/{packet → binary}/encoder.d.ts +6 -2
  35. package/dist/binary/encoder.d.ts.map +1 -0
  36. package/dist/{packet → binary}/encoder.js +10 -2
  37. package/dist/binary/encoder.js.map +1 -0
  38. package/dist/{packet → binary}/static.d.ts.map +1 -1
  39. package/dist/{packet → binary}/static.js.map +1 -1
  40. package/dist/client/client.d.ts +23 -2
  41. package/dist/client/client.d.ts.map +1 -1
  42. package/dist/client/client.js +32 -15
  43. package/dist/client/client.js.map +1 -1
  44. package/dist/index.d.ts +12 -4
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +12 -4
  47. package/dist/index.js.map +1 -1
  48. package/dist/message/link.d.ts +3 -0
  49. package/dist/message/link.d.ts.map +1 -1
  50. package/dist/message/link.js +3 -0
  51. package/dist/message/link.js.map +1 -1
  52. package/dist/message/sigCache.d.ts +5 -0
  53. package/dist/message/sigCache.d.ts.map +1 -1
  54. package/dist/message/sigCache.js +5 -0
  55. package/dist/message/sigCache.js.map +1 -1
  56. package/dist/{client → net}/tcp.d.ts +3 -3
  57. package/dist/net/tcp.d.ts.map +1 -0
  58. package/dist/{client → net}/tcp.js +3 -3
  59. package/dist/net/tcp.js.map +1 -0
  60. package/dist/packet/{dispatcher.d.ts → listener.d.ts} +10 -18
  61. package/dist/packet/listener.d.ts.map +1 -0
  62. package/dist/packet/{dispatcher.js → listener.js} +74 -137
  63. package/dist/packet/listener.js.map +1 -0
  64. package/dist/packet/sender.d.ts +28 -0
  65. package/dist/packet/sender.d.ts.map +1 -0
  66. package/dist/packet/sender.js +147 -0
  67. package/dist/packet/sender.js.map +1 -0
  68. package/dist/physics/aabb.d.ts +3 -0
  69. package/dist/physics/aabb.d.ts.map +1 -1
  70. package/dist/physics/aabb.js +12 -8
  71. package/dist/physics/aabb.js.map +1 -1
  72. package/dist/physics/direction.d.ts +3 -0
  73. package/dist/physics/direction.d.ts.map +1 -1
  74. package/dist/physics/direction.js +3 -0
  75. package/dist/physics/direction.js.map +1 -1
  76. package/dist/physics/player.d.ts +4 -0
  77. package/dist/physics/player.d.ts.map +1 -1
  78. package/dist/physics/player.js +24 -3
  79. package/dist/physics/player.js.map +1 -1
  80. package/dist/version/codec.d.ts +5 -1
  81. package/dist/version/codec.d.ts.map +1 -1
  82. package/dist/version/codec.js +25 -5
  83. package/dist/version/codec.js.map +1 -1
  84. package/dist/version/registry.d.ts +25 -2
  85. package/dist/version/registry.d.ts.map +1 -1
  86. package/dist/version/registry.js +43 -6
  87. package/dist/version/registry.js.map +1 -1
  88. package/dist/world/block.d.ts +5 -0
  89. package/dist/world/block.d.ts.map +1 -1
  90. package/dist/world/block.js +56 -0
  91. package/dist/world/block.js.map +1 -1
  92. package/dist/world/state.d.ts +22 -0
  93. package/dist/world/state.d.ts.map +1 -1
  94. package/dist/world/state.js +19 -0
  95. package/dist/world/state.js.map +1 -1
  96. package/package.json +8 -10
  97. package/src/base/bitset.ts +311 -31
  98. package/src/base/buffer.ts +1 -0
  99. package/src/base/cache.ts +62 -0
  100. package/src/base/error.ts +9 -0
  101. package/src/base/http.ts +1 -0
  102. package/src/base/math.ts +45 -1
  103. package/src/base/typing.ts +11 -0
  104. package/src/{packet → binary}/decoder.ts +4 -0
  105. package/src/{packet → binary}/encoder.ts +10 -2
  106. package/src/client/client.ts +54 -19
  107. package/src/index.ts +12 -4
  108. package/src/message/link.ts +3 -0
  109. package/src/message/sigCache.ts +5 -0
  110. package/src/{client → net}/tcp.ts +4 -8
  111. package/src/packet/{dispatcher.ts → listener.ts} +93 -175
  112. package/src/packet/sender.ts +179 -0
  113. package/src/physics/aabb.ts +12 -8
  114. package/src/physics/direction.ts +3 -0
  115. package/src/physics/player.ts +22 -3
  116. package/src/version/codec.ts +27 -6
  117. package/src/version/registry.ts +59 -3
  118. package/src/world/block.ts +72 -2
  119. package/src/world/state.ts +42 -2
  120. package/test/bitset/index.ts +3 -8
  121. package/test/client/index.ts +12 -2
  122. package/test/state/index.ts +7 -0
  123. package/dist/client/tcp.d.ts.map +0 -1
  124. package/dist/client/tcp.js.map +0 -1
  125. package/dist/packet/decoder.d.ts.map +0 -1
  126. package/dist/packet/decoder.js.map +0 -1
  127. package/dist/packet/dispatcher.d.ts.map +0 -1
  128. package/dist/packet/dispatcher.js.map +0 -1
  129. package/dist/packet/encoder.d.ts.map +0 -1
  130. package/dist/packet/encoder.js.map +0 -1
  131. /package/dist/{packet → binary}/static.d.ts +0 -0
  132. /package/dist/{packet → binary}/static.js +0 -0
  133. /package/src/{packet → binary}/static.ts +0 -0
@@ -8,6 +8,7 @@ import { LevelHeightLimit } from "../client/static";
8
8
  import { SharedState } from "../world/state";
9
9
  import { TypedEmmiter } from "../base/event";
10
10
  import { ClientEvents } from "../client/client";
11
+ import { EffectRegistry } from "../version/registry";
11
12
 
12
13
  export enum Input {
13
14
  Forward = "W",
@@ -40,6 +41,9 @@ export enum MoverType {
40
41
  SHULKER
41
42
  }
42
43
 
44
+ /**
45
+ * Represent a player for calculating physics
46
+ */
43
47
  export class Player {
44
48
  private fallDistance: number = 0;
45
49
  private deltaMovement: Vec3 = Vec3.Zero;
@@ -174,6 +178,16 @@ export class Player {
174
178
  this.state.checkReady();
175
179
  return this.state.player!.dimension;
176
180
  }
181
+ private hasEffect(effectName: string) {
182
+ this.state.checkReady();
183
+ const id = EffectRegistry.effects[effectName];
184
+ if (!id) return false;
185
+ if (!(id in this.state.player!.effects)) return false;
186
+ const effect = this.state.player!.effects[id]!;
187
+ if (effect.duration < 0) return true;
188
+ if (effect.date + (effect.duration / 20) * 1000 < Date.now()) return true;
189
+ return false;
190
+ }
177
191
 
178
192
  private setDeltaMovement(x: number, y: number, z: number): void;
179
193
  private setDeltaMovement(vec: BaseVec3): void;
@@ -319,9 +333,14 @@ export class Player {
319
333
  }
320
334
  // TODO: Handle in fluid
321
335
 
322
- // TODO: Handle potion effect: Slow falling and Levitation
336
+ // Handle potion effect: Slow falling and Levitation
337
+ if (
338
+ this.hasEffect("minecraft:levitation") ||
339
+ this.hasEffect("minecraft:slow_falling")
340
+ )
341
+ this.fallDistance = 0;
323
342
 
324
- // TODO: Push entities
343
+ // // TODO: Push entities
325
344
  // console.log({
326
345
  // type: "BEFORE-TRAVEL",
327
346
  // pos: this.getPos(),
@@ -414,7 +433,7 @@ export class Player {
414
433
 
415
434
  private getSpeed() {
416
435
  // return the base for now
417
- // TODO: Handle other cases: sprinting, speed-enchanted gear and potion
436
+ // TODO: Handle other cases: speed-enchanted gear and potion
418
437
  return this.isSprinting ? 0.13 : 0.1;
419
438
  }
420
439
 
@@ -1,10 +1,12 @@
1
1
  import z from "zod";
2
2
  import { MissingField, MissingPacketField, NotImplemented, SkippableNotImplemented, UnexpectedValue } from "../base/error";
3
- import { BinaryDecoder } from "../packet/decoder";
3
+ import { BinaryDecoder } from "../binary/decoder";
4
4
  import { ConnectionState, SharedState } from "../world/state";
5
5
  import { FieldNode, PacketObject, PacketRegistry, VersionDefinitions } from "./registry";
6
- import { BinaryEncoder } from "../packet/encoder";
6
+ import { BinaryEncoder } from "../binary/encoder";
7
+ import { BitSet } from "../base/bitset";
7
8
 
9
+ /** @hidden */
8
10
  const TCPStateMapping: Record<ConnectionState, keyof z.infer<typeof VersionDefinitions> | null> = {
9
11
  [ConnectionState.Disconnected]: null,
10
12
  [ConnectionState.Handshake]: "handshaking",
@@ -13,11 +15,15 @@ const TCPStateMapping: Record<ConnectionState, keyof z.infer<typeof VersionDefin
13
15
  [ConnectionState.Play]: "play",
14
16
  };
15
17
 
18
+ /** @hidden */
16
19
  export interface EncodeResult {
17
20
  buffer: Buffer,
18
21
  packet: z.infer<typeof PacketObject>,
19
22
  }
20
23
 
24
+ /**
25
+ * A codec that help encode or decode packets
26
+ */
21
27
  export class VersionCodec {
22
28
  constructor(private readonly state: SharedState) { }
23
29
 
@@ -73,7 +79,7 @@ export class VersionCodec {
73
79
  for (const [name, field] of Object.entries(structure)) {
74
80
  if (!(name in data))
75
81
  throw new MissingField(name, `packet ${packetName}`);
76
- if (typeof data[name] === "object")
82
+ if (data[name] !== null && data[name] !== undefined && typeof data[name] === "object")
77
83
  if ("value" in data[name])
78
84
  if ("metadata" in data[name])
79
85
  encoder = this.writeField(field, encoder, data[name]["value"], data[name]["metadata"]);
@@ -211,14 +217,20 @@ export class VersionCodec {
211
217
  // return encoder.writeArray(length, (decoder) => this.readField(packetId, readObject, fieldName, field.subType, decoder));
212
218
  // }
213
219
  case "prefixed_array": {
214
- const length = metadata["length"] || field.length;
215
- if (!length) throw new MissingField("length", "prefixed array metadata object");
220
+ const length = metadata["length"] ?? field.length;
221
+ if (length === null || length === undefined) throw new MissingField("length", "prefixed array metadata object");
216
222
  if (!Array.isArray(value))
217
223
  throw new UnexpectedValue("an array for prefixed array", typeof value);
218
224
  return encoder.writePrefixedArray(length, (encoder, index) => this.writeField(field.subType, encoder, value[index], metadata));
219
225
  }
220
226
  // case "teleport_flag": return encoder.writeTeleportFlag();
221
- // case "prefixed_optional": return encoder.writePrefixedOptional((decoder) => this.readField(packetId, readObject, fieldName, field.subType, decoder));
227
+ case "prefixed_optional":
228
+ if (value === null || value === undefined)
229
+ return encoder.writeBoolean(false);
230
+ else {
231
+ encoder.writeBoolean(true);
232
+ return this.writeField(field.subType, encoder, field, metadata);
233
+ }
222
234
  // case "nbt": return encoder.writeNBT(value);
223
235
  case "lpvec3": return encoder.writeLpVec3(value);
224
236
  // case "fixed_point": {
@@ -236,6 +248,15 @@ export class VersionCodec {
236
248
  encoder = this.writeField(subField, encoder, value[name], metadata);
237
249
  return encoder;
238
250
  }
251
+ case "fixed_bitset": {
252
+ if (!(value instanceof BitSet))
253
+ throw new UnexpectedValue("bitset instance", typeof value);
254
+ const arr = value.toByteArray();
255
+ if ("length" in field)
256
+ while (Math.ceil(field.length / 8) > arr.length)
257
+ arr.push(0);
258
+ return encoder.writeRaw(Buffer.from(arr));
259
+ }
239
260
  // case "switch": {
240
261
  // const dependencyValue = readObject[field.dependsOn];
241
262
  // if (!dependencyValue) throw new MissingField(packetId, fieldName, field.dependsOn);
@@ -4,11 +4,13 @@ import { RegistryItemNotFound, UnexpectedValue, VersionNotSupport } from "../bas
4
4
  import { Block, BlockState } from "../world/block";
5
5
  import z from "zod";
6
6
 
7
- export const BASE_REGISTRY_PATH = join(__dirname, "..", "..", "assets", "minecraft");
7
+ const BASE_REGISTRY_PATH = join(__dirname, "..", "..", "assets", "minecraft");
8
+ /** @hidden */
8
9
  export const SupportVersions = [
9
10
  "26.2"
10
11
  ];
11
12
 
13
+ /** @hidden */
12
14
  export const ProtocolVersionMapping: Record<string, number> = {
13
15
  "26.2": 776
14
16
  };
@@ -101,6 +103,31 @@ export class BlockRegistry {
101
103
  }
102
104
  };
103
105
 
106
+ export class EffectRegistry {
107
+ private static loaded: boolean = false;
108
+
109
+ public static readonly effects: Record<string, number> = {};
110
+
111
+ /**
112
+ * Load effects registry from JSON file.
113
+ *
114
+ * Should be called once time
115
+ */
116
+ public static async load(version: string) {
117
+ if (!SupportVersions.includes(version))
118
+ throw new VersionNotSupport(version);
119
+ if (this.loaded) return;
120
+ this.loaded = true;
121
+
122
+ const file = await readFile(join(BASE_REGISTRY_PATH, version, "effects.json"), { encoding: "utf8" });
123
+ const json = JSON.parse(file) as Record<string, any>;
124
+ for (const [name, id] of Object.entries(json)) {
125
+ this.effects[name] = id;
126
+ }
127
+ }
128
+ }
129
+
130
+ /** @hidden */
104
131
  export const SupportTypes = z.enum([
105
132
  "byte",
106
133
  "unsigned_byte",
@@ -137,6 +164,8 @@ export const SupportTypes = z.enum([
137
164
  "heightmap",
138
165
  "teleport_flags",
139
166
  "bitset",
167
+ "fixed_bitset",
168
+ "byte_array",
140
169
  "null", // a constant
141
170
 
142
171
  /**
@@ -144,8 +173,22 @@ export const SupportTypes = z.enum([
144
173
  */
145
174
  "switch"
146
175
  ]);
176
+ /** @hidden */
147
177
  export type FieldNode = ({
148
- type: Exclude<z.infer<typeof SupportTypes>, "prefixed_array" | "prefixed_optional" | "string" | "id_or_x" | "array" | "switch" | "fixed_point" | "enum" | "object" | "not_implemented">,
178
+ type: Exclude<z.infer<typeof SupportTypes>,
179
+ | "prefixed_array"
180
+ | "prefixed_optional"
181
+ | "string"
182
+ | "id_or_x"
183
+ | "array"
184
+ | "switch"
185
+ | "fixed_point"
186
+ | "enum"
187
+ | "object"
188
+ | "not_implemented"
189
+ | "fixed_bitset"
190
+ | "byte_array"
191
+ >,
149
192
  } | {
150
193
  type: "not_implemented",
151
194
  comment?: string | undefined
@@ -175,12 +218,16 @@ export type FieldNode = ({
175
218
  type: "fixed_point",
176
219
  subType: FieldNode,
177
220
  fractionBits: number
221
+ } | {
222
+ type: "fixed_bitset" | "byte_array",
223
+ length: number,
178
224
  }) & {
179
225
  skip_able?: boolean | undefined
180
226
  }
227
+ /** @hidden */
181
228
  export const Field: z.ZodType<FieldNode> = z.union([
182
229
  z.object({
183
- type: SupportTypes.exclude(["prefixed_array", "prefixed_optional", "string", "id_or_x", "array", "switch", "fixed_point", "enum", "not_implemented", "object"]),
230
+ type: SupportTypes.exclude(["prefixed_array", "prefixed_optional", "string", "id_or_x", "array", "switch", "fixed_point", "enum", "not_implemented", "object", "fixed_bitset", "byte_array"]),
184
231
  }),
185
232
  z.object({
186
233
  type: z.literal(["not_implemented"]),
@@ -250,23 +297,32 @@ export const Field: z.ZodType<FieldNode> = z.union([
250
297
  subType: z.lazy(() => Field),
251
298
  fractionBits: z.number()
252
299
  }),
300
+ z.object({
301
+ // These type require predefined-length
302
+ type: z.union([z.literal("fixed_bitset"), z.literal("byte_array")]),
303
+ length: z.int()
304
+ })
253
305
  ])
254
306
  .and(
255
307
  z.object({
256
308
  skip_able: z.boolean().optional()
257
309
  })
258
310
  );
311
+ /** @hidden */
259
312
  export const PacketObject = z.object({
260
313
  name: z.string(),
261
314
  id: z.number(),
262
315
  structure: z.record(z.string(), Field),
263
316
  skipForNow: z.boolean().default(false)
264
317
  });
318
+ /** @hidden */
265
319
  export const PacketsDefinition = z.record(z.string().or(z.number()), PacketObject);
320
+ /** @hidden */
266
321
  export const StatesDefinition = z.object({
267
322
  clientbound: PacketsDefinition,
268
323
  serverbound: PacketsDefinition,
269
324
  });
325
+ /** @hidden */
270
326
  export const VersionDefinitions = z.object({
271
327
  handshaking: StatesDefinition,
272
328
  status: StatesDefinition,
@@ -1,9 +1,9 @@
1
- import { TCPClient } from "../client/tcp";
2
1
  import { AABB, BaseAABB, VoxelShape } from "../physics/aabb";
3
2
  import { Epsilon, getFrac, getSign, lerp } from "../base/math";
4
3
  import { BlockRegistry } from "../version/registry";
5
4
  import { BaseVec3, Direction, Vec3 } from "../physics/direction";
6
5
  import { SharedState } from "./state";
6
+ import { NotImplemented } from "../base/error";
7
7
 
8
8
  /**
9
9
  * Represent a state of a block
@@ -108,9 +108,74 @@ export class BlockManager {
108
108
  x = Math.floor(x); y = Math.floor(y); z = Math.floor(z);
109
109
  const sx = Math.floor(x / 16), sy = Math.floor((y + 64) / 16), sz = Math.floor(z / 16);
110
110
  const px = ((x % 16) + 16) % 16, py = ((y % 16) + 16) % 16, pz = ((z % 16) + 16) % 16;
111
+
112
+ if (this.state.cache)
113
+ return this.getWithCache(sx, sy, sz, px, py, pz);
114
+ else
115
+ return this.getWithoutCache(sx, sy, sz, px, py, pz);
116
+ }
117
+
118
+ private getBlock(stateId: number | string) {
119
+ return BlockRegistry.getState(String(stateId));
120
+ }
121
+ private getWithCache(
122
+ sx: number, sy: number, sz: number,
123
+ px: number, py: number, pz: number,
124
+ ) {
125
+ if (!this.state.cache)
126
+ throw new NotImplemented();
127
+ const localPos = { x: px, y: py, z: pz };
128
+ const sectionKey = `${this.state.player!.dimension}:${sx}:${sy}:${sz}`;
129
+ const sectionCache = this.state.cache.get(sectionKey);
130
+ if (sectionCache) {
131
+ const cachedState = sectionCache.at(this.getLocalPosKey(localPos));
132
+ if (cachedState) {
133
+ console.log("cache hit", sectionKey, localPos);
134
+ return this.getBlock(cachedState);
135
+ }
136
+ }
137
+
138
+ console.log("cache miss", sectionKey, localPos);
139
+ const section = this.state.world!.chunks[`${this.state.player!.dimension}:${sx}:${sz}`]?.sections[sy]?.block;
140
+ if (!section) return null;
141
+ if (section.data === null) return BlockRegistry.getState(section.palette[0]!.toString())!;
142
+
143
+ const arr = new Uint16Array(16 * 16 * 16);
144
+ const dataArray = section.data!;
145
+ const bitsPerEntry = section.bpe;
146
+ const entriesPerLong = Math.floor(64 / bitsPerEntry);
147
+ const entryMask = (1 << bitsPerEntry) - 1;
148
+ for (let localX = 0; localX < 16; localX++)
149
+ for (let localY = 0; localY < 16; localY++)
150
+ for (let localZ = 0; localZ < 16; localZ++) {
151
+ const entryIndex = this.getLocalPosKey({ x: localX, y: localY, z: localZ });
152
+ const longIndex = Math.floor(entryIndex / entriesPerLong);
153
+ const bit_index = entryIndex % entriesPerLong * bitsPerEntry;
154
+ const localId = Number((dataArray[longIndex]! >> BigInt(bit_index)) & BigInt(entryMask));
155
+ const stateId = bitsPerEntry <= 8 ? section.palette[localId]! : localId;
156
+ arr[entryIndex]! = stateId;
157
+ }
158
+
159
+ this.state.cache.put(sectionKey, arr);
160
+ const state = arr.at(this.getLocalPosKey(localPos))!;
161
+ return this.getBlock(state);
162
+ }
163
+ public deleteChunkCache(
164
+ sx: number, sy: number, sz: number,
165
+ ) {
166
+ const sectionKey = `${this.state.player!.dimension}:${sx}:${sy}:${sz}`;
167
+ if (this.state.cache)
168
+ this.state.cache.del(sectionKey);
169
+ }
170
+
171
+ private getWithoutCache(
172
+ sx: number, sy: number, sz: number,
173
+ px: number, py: number, pz: number,
174
+ ) {
111
175
  const section = this.state.world!.chunks[`${this.state.player!.dimension}:${sx}:${sz}`]?.sections[sy]?.block;
112
176
  if (!section) return null;
113
177
  if (section.data === null) return BlockRegistry.getState(section.palette[0]!.toString())!;
178
+
114
179
  const dataArray = section.data!;
115
180
  const bitsPerEntry = section.bpe;
116
181
  const entryIndex = px + (pz * 16) + (py * 16 * 16);
@@ -120,7 +185,12 @@ export class BlockManager {
120
185
  const bit_index = entryIndex % entriesPerLong * bitsPerEntry;
121
186
  const localId = Number((dataArray[longIndex]! >> BigInt(bit_index)) & BigInt(entryMask));
122
187
  const stateId = bitsPerEntry <= 8 ? section.palette[localId]! : localId;
123
- return BlockRegistry.getState(String(stateId))!;
188
+
189
+ return BlockRegistry.getState(String(stateId));
190
+
191
+ }
192
+ private getLocalPosKey(pos: BaseVec3) {
193
+ return pos.x + 16 * (pos.y + 16 * pos.z);
124
194
  }
125
195
 
126
196
  /**
@@ -6,6 +6,7 @@ import { ClientEvents, ClientOption } from "../client/client";
6
6
  import { AuthClient } from "../client/auth";
7
7
  import { MessageLink } from "../message/link";
8
8
  import { SignatureCache } from "../message/sigCache";
9
+ import { CacheImplementation, LRUCache } from "../base/cache";
9
10
 
10
11
  export interface Server {
11
12
  knownPacks?: ServerKnownPack
@@ -74,6 +75,22 @@ export interface BlockEntity {
74
75
  data: Record<string, any>
75
76
  }
76
77
 
78
+ export interface Effect {
79
+ id: number,
80
+ amplifier: number,
81
+ duration: number,
82
+ flag: {
83
+ isAmbient: boolean,
84
+ showParticles: boolean,
85
+ showIcon: boolean,
86
+ blend: boolean
87
+ },
88
+ /**
89
+ * The epoch ms when the effect update packet is recieved, for validating duration
90
+ */
91
+ date: number
92
+ }
93
+
77
94
  /** Represent an entity */
78
95
  export interface Entity {
79
96
  id: number,
@@ -106,7 +123,9 @@ export interface ClientPlayer {
106
123
  angle: Angle,
107
124
 
108
125
  /** Current dimension */
109
- dimension: string
126
+ dimension: string,
127
+
128
+ effects: Record<number, Effect>
110
129
  }
111
130
 
112
131
  export enum ClientStatus {
@@ -138,6 +157,9 @@ export type SendingPacket = {
138
157
  data: Record<string, any>
139
158
  }
140
159
 
160
+ /**
161
+ * For managing shared data between classes
162
+ */
141
163
  export class SharedState<IsReady extends boolean = boolean> {
142
164
  private mutationQueue: MutateState[] = [];
143
165
  private eventQueue: EmittedEvent[] = [];
@@ -166,6 +188,9 @@ export class SharedState<IsReady extends boolean = boolean> {
166
188
  public registry: Record<string, ServerRegistryEntry[]> | undefined = undefined;
167
189
  public world: If<IsReady, ServerWorld> = null as any;
168
190
  public player: If<IsReady, ClientPlayer> = null as any;
191
+ public messageCount: number = 0;
192
+
193
+ public cache: CacheImplementation<Uint16Array> | undefined = undefined;
169
194
 
170
195
  /**
171
196
  * For maintaining message order.
@@ -177,7 +202,14 @@ export class SharedState<IsReady extends boolean = boolean> {
177
202
 
178
203
  constructor(
179
204
  public clientOptions: ClientOption,
180
- ) { }
205
+ ) {
206
+ if (this.clientOptions.loadAndCacheChunk) {
207
+ if (this.clientOptions.cacheImplementation)
208
+ this.cache = new this.clientOptions.cacheImplementation();
209
+ else
210
+ this.cache = new LRUCache(32);
211
+ }
212
+ }
181
213
 
182
214
  public isReady(): this is SharedState<true> {
183
215
  return this.status === ClientStatus.Ready;
@@ -213,6 +245,7 @@ export class SharedState<IsReady extends boolean = boolean> {
213
245
  this.registry = undefined;
214
246
  this.world = undefined as any;
215
247
  this.player = undefined as any;
248
+ this.messageCount = 0;
216
249
 
217
250
  if (this.clientOptions.shouldVerifyMessageSignature)
218
251
  this.messageSignatureCache = SignatureCache.default();
@@ -222,6 +255,13 @@ export class SharedState<IsReady extends boolean = boolean> {
222
255
  this.messageLinks = {};
223
256
  else
224
257
  this.messageLinks = undefined;
258
+
259
+ if (this.clientOptions.loadAndCacheChunk) {
260
+ if (this.clientOptions.cacheImplementation)
261
+ this.cache = new this.clientOptions.cacheImplementation();
262
+ else
263
+ this.cache = new LRUCache(32);
264
+ }
225
265
  }
226
266
 
227
267
  public getSignature() {
@@ -1,11 +1,6 @@
1
1
  import { BitSet } from "../../src/base/bitset";
2
2
 
3
3
  const bitset = new BitSet(10);
4
- bitset.set(1, 1);
5
- bitset.set(3, 1);
6
- // console.log(bitset.toString());
7
- const clone = bitset.clone();
8
- // console.log(clone.toString());
9
- clone.set(2, 1);
10
- // console.log(bitset.toString());
11
- // console.log(clone.toString());
4
+ bitset.set(1);
5
+ bitset.set(3);
6
+ console.log(bitset.get(3));
@@ -17,9 +17,9 @@ const client = new Client({
17
17
  // },
18
18
  // shouldVerifyMessageOrder: true,
19
19
  // shouldVerifyMessageSignature: true
20
+ loadAndCacheChunk: true
20
21
  });
21
22
  client.connect();
22
- client.hold(Input.Jump);
23
23
  client.on("disconnect", (...args) => console.dir({ name: "disconnect", args }, { depth: null }));
24
24
  client.on("disconnectRaw", (...args) => console.dir({ name: "disconnectRaw", args }, { depth: null }));
25
25
  // client.on("loadChunk", (...args) => console.dir({ name: "loadChunk", args }, { depth: null }));
@@ -57,8 +57,18 @@ client.on("message", (message) => {
57
57
 
58
58
  case "at": {
59
59
  const [, x, y, z] = args.map(val => parseInt(val)) as [any, number, number, number];
60
+ console.time("get_block");
60
61
  const state = client.at(x, y, z);
61
- // console.log(state);
62
+ console.timeEnd("get_block");
63
+ console.log(state);
64
+ break;
65
+ }
66
+
67
+ case "e":
68
+ case "echo":
69
+ case "say": {
70
+ const message = args.slice(1).join(" ");
71
+ client.chat(message);
62
72
  break;
63
73
  }
64
74
 
@@ -0,0 +1,7 @@
1
+ import { AxisCycle } from "../../src/physics/direction";
2
+ import { BlockRegistry } from "../../src/version/registry";
3
+
4
+ BlockRegistry.load("26.2").then(() => {
5
+ const shape = BlockRegistry.getState("10").shape;
6
+ console.dir(shape);
7
+ });
@@ -1 +0,0 @@
1
- {"version":3,"file":"tcp.d.ts","sourceRoot":"","sources":["../../src/client/tcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAIzD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAgB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAQ/C,MAAM,WAAW,eAAe;IAC5B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,KAAK,CAAC,EAAE;QACJ,8BAA8B;QAC9B,YAAY,EAAE,OAAO,CAAA;KACxB,CAAC;IAGF,IAAI,CAAC,EAAE,UAAU,CAAA;CACpB;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,EAAE,CAAC;IACZ,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrB,OAAO,EAAE,EAAE,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE;QACD,MAAM,EAAE,aAAa,CAAC;QACtB,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC;QAClC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAA;KACrC,CAAA;CACJ;wCAcyD,YAAY,CAAC,eAAe,CAAC;AALvF;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,cAAyD;IAchF,OAAO,CAAC,KAAK;aACG,MAAM,EAAE,eAAe;IAd3C,SAAgB,MAAM,EAAE,MAAM,CAAC;IAG/B;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CAA2B;IAE7C,YACY,KAAK,EAAE,WAAW,EACV,MAAM,EAAE,eAAe,EACvC,YAAY,CAAC,EAAE,qBAAqB,EAIvC;IAEM,cAAc,EAAE,MAAM,IAAI,CAAyC;IACnE,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,KAAK,IAAI,CAAyC;IAC1G,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,YAAY,CAAyC;IAEtH;;OAEG;IACI,OAAO,SAyBb;IAEM,UAAU,SAGhB;IAMD,OAAO,CAAC,YAAY;IA2Cb,KAAK,CAAC,GAAG,EAAE,MAAM,QASvB;IAEM,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAiCrE;CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tcp.js","sourceRoot":"","sources":["../../src/client/tcp.ts"],"names":[],"mappings":";;;AAAA,uCAAyD;AACzD,6CAA2C;AAC3C,yCAAqD;AAGrD,+CAAkD;AAClD,+CAAkD;AAElD,0CAA2D;AAG3D,yCAAqF;AAsDrF,gCAAgC;AAChC,kBAAkB;AAClB,iBAAiB;AACjB,oBAAoB;AACpB,IAAI;AAEJ;;;;GAIG;AACH,eAAuB,SAAS,0BAAwD;IAcxE,KAAK;IACG,MAAM;IAdV,MAAM,CAAS;IAE/B,eAAe;IACf;;;;;;OAMG;IACK,UAAU,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE7C,YACY,KAAkB,EACV,MAAuB,EACvC,YAAoC;QAEpC,KAAK,EAAE,CAAC;qBAJA,KAAK;sBACG,MAAM;QAItB,IAAI,CAAC,MAAM,GAAG,IAAI,iBAAM,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAEM,cAAc,GAAe,GAAG,EAAE,GAAG,MAAM,IAAI,sBAAc,EAAE,CAAC,CAAC,CAAC,CAAC;IACnE,aAAa,GAAuD,GAAG,EAAE,GAAG,MAAM,IAAI,sBAAc,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1G,WAAW,GAA8D,GAAG,EAAE,GAAG,MAAM,IAAI,sBAAc,EAAE,CAAC,CAAC,CAAC,CAAC;IAEtH;;OAEG;IACI,OAAO;QACV,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,oBAAY,CAAC,UAAU,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACnC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;SACzB,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC3B,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;gBACnB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,UAAU;QACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;YACnB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED;;MAEE;IAEM,YAAY;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,OAAO,GAAG,IAAI,uBAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjD,IAAI,YAAoB,CAAC;YACzB,IAAI,CAAC;gBACD,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YACxC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,CAAC,iCAAiC;YAC5C,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,YAAY;gBAAE,MAAM;YAElE,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC;YAExD,IAAI,QAAgB,CAAC;YACrB,IAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,KAAK,CAAC;gBACrC,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;iBAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC9C,OAAO,CAAC,UAAU,EAAE,CAAC;gBACrB,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;gBACxC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBACnB,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACJ,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;oBAC/E,MAAM,YAAY,GAAG,IAAA,uBAAW,EAAC,UAAU,CAAC,CAAC;oBAC7C,IAAI,YAAY,CAAC,MAAM,KAAK,UAAU;wBAClC,MAAM,IAAI,uBAAe,CAAC,0BAA0B,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACjH,OAAO,GAAG,IAAI,uBAAa,CAAC,YAAY,CAAC,CAAC;oBAC1C,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;gBACpC,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,IAAI,IAAI;gBACpD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,GAAW;QACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;YACrB,MAAM,IAAI,2BAAmB,EAAE,CAAC;QAEpC,IAAI,UAAU,GAAG,GAAG,CAAC;QACrB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;YACjB,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAEM,UAAU,CAAC,QAAyB,EAAE,IAAyB;QAClE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,IAAI,uBAAa,EAAE,CAAC;QAC3C,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QAEtE,IAAI,aAAqB,CAAC;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,KAAK,CAAC,EAAE,CAAC;YACxC,IAAI,IAAY,CAAC;YACjB,IAAI,kBAA0B,CAAC;YAE/B,IAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;gBAC3F,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACrC,IAAI,GAAG,IAAA,uBAAW,EAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACJ,kBAAkB,GAAG,CAAC,CAAC;gBACvB,IAAI,GAAG,QAAQ,CAAC;YACpB,CAAC;YAED,MAAM,iBAAiB,GAAG,IAAI,uBAAa,EAAE,CAAC;YAC9C,iBAAiB,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;YAClD,MAAM,aAAa,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC;YAEpD,MAAM,mBAAmB,GAAG,IAAI,uBAAa,EAAE,CAAC;YAChD,mBAAmB,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACpE,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1F,CAAC;aAAM,CAAC;YACJ,MAAM,mBAAmB,GAAG,IAAI,uBAAa,EAAE,CAAC;YAChD,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjD,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC9B,CAAC;CAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/packet/decoder.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/packet/decoder.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/packet/dispatcher.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4I,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGvL,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAQ,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAU/C,qBAAa,UAAU;IAIf,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,IAAI;IAJhB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;IAEjE,YACY,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EA8BnD;IAEM,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAyC;IAC7F,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,aAAa,KAAK,IAAI,CAAyC;IAGxG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAGjD;IAID,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,gCAAgC;IASxC,OAAO,CAAC,eAAe;IA4CvB,OAAO,CAAC,+BAA+B;IAwEvC,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,eAAe;IAqGvB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,qBAAqB;IA0B7B,OAAO,CAAC,iBAAiB;IA0CzB,OAAO,CAAC,oBAAoB;IA+B5B,OAAO,CAAC,0BAA0B;IAuBlC,OAAO,CAAC,kCAAkC;IA6B1C,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,gBAAgB;IAuHxB,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,0BAA0B;IAiC3B,aAAa,SAUnB;IAEM,cAAc,SAOpB;IAED,OAAO,CAAC,sBAAsB;IAiB9B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,aAAa;IAMd,aAAa,CAChB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EACjB,mBAAmB,EAAE,OAAO,QAO/B;IAEM,gBAAgB,CACnB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,OAAO,EACjB,mBAAmB,EAAE,OAAO,QAS/B;IAEM,aAAa,CAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,OAAO,EACjB,mBAAmB,EAAE,OAAO,QAO/B;IAEM,gBAAgB,CACnB,QAAQ,EAAE,OAAO,EACjB,mBAAmB,EAAE,OAAO,QAK/B;CACJ"}