@vaitosoi/minejs 0.4.3 → 0.5.0

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 (105) 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/cache.d.ts +24 -0
  9. package/dist/base/cache.d.ts.map +1 -0
  10. package/dist/base/cache.js +58 -0
  11. package/dist/base/cache.js.map +1 -0
  12. package/dist/base/error.d.ts +7 -0
  13. package/dist/base/error.d.ts.map +1 -1
  14. package/dist/base/error.js +12 -1
  15. package/dist/base/error.js.map +1 -1
  16. package/dist/base/math.d.ts +12 -0
  17. package/dist/base/math.d.ts.map +1 -1
  18. package/dist/base/math.js +39 -0
  19. package/dist/base/math.js.map +1 -1
  20. package/dist/base/typing.d.ts +7 -0
  21. package/dist/base/typing.d.ts.map +1 -1
  22. package/dist/{packet → binary}/decoder.d.ts.map +1 -1
  23. package/dist/{packet → binary}/decoder.js.map +1 -1
  24. package/dist/{packet → binary}/encoder.d.ts +2 -2
  25. package/dist/binary/encoder.d.ts.map +1 -0
  26. package/dist/{packet → binary}/encoder.js +6 -2
  27. package/dist/binary/encoder.js.map +1 -0
  28. package/dist/{packet → binary}/static.d.ts.map +1 -1
  29. package/dist/{packet → binary}/static.js.map +1 -1
  30. package/dist/client/client.d.ts +23 -2
  31. package/dist/client/client.d.ts.map +1 -1
  32. package/dist/client/client.js +32 -15
  33. package/dist/client/client.js.map +1 -1
  34. package/dist/index.d.ts +12 -4
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +12 -4
  37. package/dist/index.js.map +1 -1
  38. package/dist/{client → net}/tcp.d.ts +2 -2
  39. package/dist/net/tcp.d.ts.map +1 -0
  40. package/dist/{client → net}/tcp.js +2 -2
  41. package/dist/net/tcp.js.map +1 -0
  42. package/dist/packet/{dispatcher.d.ts → listener.d.ts} +7 -18
  43. package/dist/packet/listener.d.ts.map +1 -0
  44. package/dist/packet/{dispatcher.js → listener.js} +71 -137
  45. package/dist/packet/listener.js.map +1 -0
  46. package/dist/packet/sender.d.ts +25 -0
  47. package/dist/packet/sender.d.ts.map +1 -0
  48. package/dist/packet/sender.js +144 -0
  49. package/dist/packet/sender.js.map +1 -0
  50. package/dist/physics/aabb.d.ts.map +1 -1
  51. package/dist/physics/aabb.js +9 -8
  52. package/dist/physics/aabb.js.map +1 -1
  53. package/dist/physics/player.d.ts +1 -0
  54. package/dist/physics/player.d.ts.map +1 -1
  55. package/dist/physics/player.js +21 -3
  56. package/dist/physics/player.js.map +1 -1
  57. package/dist/version/codec.d.ts +1 -1
  58. package/dist/version/codec.d.ts.map +1 -1
  59. package/dist/version/codec.js +21 -5
  60. package/dist/version/codec.js.map +1 -1
  61. package/dist/version/registry.d.ts +16 -1
  62. package/dist/version/registry.d.ts.map +1 -1
  63. package/dist/version/registry.js +31 -2
  64. package/dist/version/registry.js.map +1 -1
  65. package/dist/world/block.d.ts +5 -0
  66. package/dist/world/block.d.ts.map +1 -1
  67. package/dist/world/block.js +56 -0
  68. package/dist/world/block.js.map +1 -1
  69. package/dist/world/state.d.ts +19 -0
  70. package/dist/world/state.d.ts.map +1 -1
  71. package/dist/world/state.js +16 -0
  72. package/dist/world/state.js.map +1 -1
  73. package/package.json +8 -10
  74. package/src/base/bitset.ts +312 -31
  75. package/src/base/cache.ts +62 -0
  76. package/src/base/error.ts +9 -0
  77. package/src/base/math.ts +43 -1
  78. package/src/base/typing.ts +5 -0
  79. package/src/{packet → binary}/encoder.ts +6 -2
  80. package/src/client/client.ts +54 -19
  81. package/src/index.ts +12 -4
  82. package/src/{client → net}/tcp.ts +3 -3
  83. package/src/packet/{dispatcher.ts → listener.ts} +90 -175
  84. package/src/packet/sender.ts +176 -0
  85. package/src/physics/aabb.ts +9 -8
  86. package/src/physics/player.ts +19 -3
  87. package/src/version/codec.ts +22 -6
  88. package/src/version/registry.ts +49 -2
  89. package/src/world/block.ts +72 -2
  90. package/src/world/state.ts +39 -2
  91. package/test/bitset/index.ts +3 -8
  92. package/test/client/index.ts +12 -2
  93. package/test/state/index.ts +7 -0
  94. package/dist/client/tcp.d.ts.map +0 -1
  95. package/dist/client/tcp.js.map +0 -1
  96. package/dist/packet/dispatcher.d.ts.map +0 -1
  97. package/dist/packet/dispatcher.js.map +0 -1
  98. package/dist/packet/encoder.d.ts.map +0 -1
  99. package/dist/packet/encoder.js.map +0 -1
  100. /package/dist/{packet → binary}/decoder.d.ts +0 -0
  101. /package/dist/{packet → binary}/decoder.js +0 -0
  102. /package/dist/{packet → binary}/static.d.ts +0 -0
  103. /package/dist/{packet → binary}/static.js +0 -0
  104. /package/src/{packet → binary}/decoder.ts +0 -0
  105. /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",
@@ -174,6 +175,16 @@ export class Player {
174
175
  this.state.checkReady();
175
176
  return this.state.player!.dimension;
176
177
  }
178
+ private hasEffect(effectName: string) {
179
+ this.state.checkReady();
180
+ const id = EffectRegistry.effects[effectName];
181
+ if (!id) return false;
182
+ if (!(id in this.state.player!.effects)) return false;
183
+ const effect = this.state.player!.effects[id]!;
184
+ if (effect.duration < 0) return true;
185
+ if (effect.date + (effect.duration / 20) * 1000 < Date.now()) return true;
186
+ return false;
187
+ }
177
188
 
178
189
  private setDeltaMovement(x: number, y: number, z: number): void;
179
190
  private setDeltaMovement(vec: BaseVec3): void;
@@ -319,9 +330,14 @@ export class Player {
319
330
  }
320
331
  // TODO: Handle in fluid
321
332
 
322
- // TODO: Handle potion effect: Slow falling and Levitation
333
+ // Handle potion effect: Slow falling and Levitation
334
+ if (
335
+ this.hasEffect("minecraft:levitation") ||
336
+ this.hasEffect("minecraft:slow_falling")
337
+ )
338
+ this.fallDistance = 0;
323
339
 
324
- // TODO: Push entities
340
+ // // TODO: Push entities
325
341
  // console.log({
326
342
  // type: "BEFORE-TRAVEL",
327
343
  // pos: this.getPos(),
@@ -414,7 +430,7 @@ export class Player {
414
430
 
415
431
  private getSpeed() {
416
432
  // return the base for now
417
- // TODO: Handle other cases: sprinting, speed-enchanted gear and potion
433
+ // TODO: Handle other cases: speed-enchanted gear and potion
418
434
  return this.isSprinting ? 0.13 : 0.1;
419
435
  }
420
436
 
@@ -1,9 +1,10 @@
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
 
8
9
  const TCPStateMapping: Record<ConnectionState, keyof z.infer<typeof VersionDefinitions> | null> = {
9
10
  [ConnectionState.Disconnected]: null,
@@ -73,7 +74,7 @@ export class VersionCodec {
73
74
  for (const [name, field] of Object.entries(structure)) {
74
75
  if (!(name in data))
75
76
  throw new MissingField(name, `packet ${packetName}`);
76
- if (typeof data[name] === "object")
77
+ if (data[name] !== null && data[name] !== undefined && typeof data[name] === "object")
77
78
  if ("value" in data[name])
78
79
  if ("metadata" in data[name])
79
80
  encoder = this.writeField(field, encoder, data[name]["value"], data[name]["metadata"]);
@@ -211,14 +212,20 @@ export class VersionCodec {
211
212
  // return encoder.writeArray(length, (decoder) => this.readField(packetId, readObject, fieldName, field.subType, decoder));
212
213
  // }
213
214
  case "prefixed_array": {
214
- const length = metadata["length"] || field.length;
215
- if (!length) throw new MissingField("length", "prefixed array metadata object");
215
+ const length = metadata["length"] ?? field.length;
216
+ if (length === null || length === undefined) throw new MissingField("length", "prefixed array metadata object");
216
217
  if (!Array.isArray(value))
217
218
  throw new UnexpectedValue("an array for prefixed array", typeof value);
218
219
  return encoder.writePrefixedArray(length, (encoder, index) => this.writeField(field.subType, encoder, value[index], metadata));
219
220
  }
220
221
  // case "teleport_flag": return encoder.writeTeleportFlag();
221
- // case "prefixed_optional": return encoder.writePrefixedOptional((decoder) => this.readField(packetId, readObject, fieldName, field.subType, decoder));
222
+ case "prefixed_optional":
223
+ if (value === null || value === undefined)
224
+ return encoder.writeBoolean(false);
225
+ else {
226
+ encoder.writeBoolean(true);
227
+ return this.writeField(field.subType, encoder, field, metadata);
228
+ }
222
229
  // case "nbt": return encoder.writeNBT(value);
223
230
  case "lpvec3": return encoder.writeLpVec3(value);
224
231
  // case "fixed_point": {
@@ -236,6 +243,15 @@ export class VersionCodec {
236
243
  encoder = this.writeField(subField, encoder, value[name], metadata);
237
244
  return encoder;
238
245
  }
246
+ case "fixed_bitset": {
247
+ if (!(value instanceof BitSet))
248
+ throw new UnexpectedValue("bitset instance", typeof value);
249
+ const arr = value.toByteArray();
250
+ if ("length" in field)
251
+ while (Math.ceil(field.length / 8) > arr.length)
252
+ arr.push(0);
253
+ return encoder.writeRaw(Buffer.from(arr));
254
+ }
239
255
  // case "switch": {
240
256
  // const dependencyValue = readObject[field.dependsOn];
241
257
  // if (!dependencyValue) throw new MissingField(packetId, fieldName, field.dependsOn);
@@ -101,6 +101,30 @@ export class BlockRegistry {
101
101
  }
102
102
  };
103
103
 
104
+ export class EffectRegistry {
105
+ private static loaded: boolean = false;
106
+
107
+ public static readonly effects: Record<string, number> = {};
108
+
109
+ /**
110
+ * Load effects registry from JSON file.
111
+ *
112
+ * Should be called once time
113
+ */
114
+ public static async load(version: string) {
115
+ if (!SupportVersions.includes(version))
116
+ throw new VersionNotSupport(version);
117
+ if (this.loaded) return;
118
+ this.loaded = true;
119
+
120
+ const file = await readFile(join(BASE_REGISTRY_PATH, version, "effects.json"), { encoding: "utf8" });
121
+ const json = JSON.parse(file) as Record<string, any>;
122
+ for (const [name, id] of Object.entries(json)) {
123
+ this.effects[name] = id;
124
+ }
125
+ }
126
+ }
127
+
104
128
  export const SupportTypes = z.enum([
105
129
  "byte",
106
130
  "unsigned_byte",
@@ -137,6 +161,8 @@ export const SupportTypes = z.enum([
137
161
  "heightmap",
138
162
  "teleport_flags",
139
163
  "bitset",
164
+ "fixed_bitset",
165
+ "byte_array",
140
166
  "null", // a constant
141
167
 
142
168
  /**
@@ -145,7 +171,20 @@ export const SupportTypes = z.enum([
145
171
  "switch"
146
172
  ]);
147
173
  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">,
174
+ type: Exclude<z.infer<typeof SupportTypes>,
175
+ | "prefixed_array"
176
+ | "prefixed_optional"
177
+ | "string"
178
+ | "id_or_x"
179
+ | "array"
180
+ | "switch"
181
+ | "fixed_point"
182
+ | "enum"
183
+ | "object"
184
+ | "not_implemented"
185
+ | "fixed_bitset"
186
+ | "byte_array"
187
+ >,
149
188
  } | {
150
189
  type: "not_implemented",
151
190
  comment?: string | undefined
@@ -175,12 +214,15 @@ export type FieldNode = ({
175
214
  type: "fixed_point",
176
215
  subType: FieldNode,
177
216
  fractionBits: number
217
+ } | {
218
+ type: "fixed_bitset" | "byte_array",
219
+ length: number,
178
220
  }) & {
179
221
  skip_able?: boolean | undefined
180
222
  }
181
223
  export const Field: z.ZodType<FieldNode> = z.union([
182
224
  z.object({
183
- type: SupportTypes.exclude(["prefixed_array", "prefixed_optional", "string", "id_or_x", "array", "switch", "fixed_point", "enum", "not_implemented", "object"]),
225
+ type: SupportTypes.exclude(["prefixed_array", "prefixed_optional", "string", "id_or_x", "array", "switch", "fixed_point", "enum", "not_implemented", "object", "fixed_bitset", "byte_array"]),
184
226
  }),
185
227
  z.object({
186
228
  type: z.literal(["not_implemented"]),
@@ -250,6 +292,11 @@ export const Field: z.ZodType<FieldNode> = z.union([
250
292
  subType: z.lazy(() => Field),
251
293
  fractionBits: z.number()
252
294
  }),
295
+ z.object({
296
+ // These type require predefined-length
297
+ type: z.union([z.literal("fixed_bitset"), z.literal("byte_array")]),
298
+ length: z.int()
299
+ })
253
300
  ])
254
301
  .and(
255
302
  z.object({
@@ -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 {
@@ -166,6 +185,9 @@ export class SharedState<IsReady extends boolean = boolean> {
166
185
  public registry: Record<string, ServerRegistryEntry[]> | undefined = undefined;
167
186
  public world: If<IsReady, ServerWorld> = null as any;
168
187
  public player: If<IsReady, ClientPlayer> = null as any;
188
+ public messageCount: number = 0;
189
+
190
+ public cache: CacheImplementation<Uint16Array> | undefined = undefined;
169
191
 
170
192
  /**
171
193
  * For maintaining message order.
@@ -177,7 +199,14 @@ export class SharedState<IsReady extends boolean = boolean> {
177
199
 
178
200
  constructor(
179
201
  public clientOptions: ClientOption,
180
- ) { }
202
+ ) {
203
+ if (this.clientOptions.loadAndCacheChunk) {
204
+ if (this.clientOptions.cacheImplementation)
205
+ this.cache = new this.clientOptions.cacheImplementation();
206
+ else
207
+ this.cache = new LRUCache(32);
208
+ }
209
+ }
181
210
 
182
211
  public isReady(): this is SharedState<true> {
183
212
  return this.status === ClientStatus.Ready;
@@ -213,6 +242,7 @@ export class SharedState<IsReady extends boolean = boolean> {
213
242
  this.registry = undefined;
214
243
  this.world = undefined as any;
215
244
  this.player = undefined as any;
245
+ this.messageCount = 0;
216
246
 
217
247
  if (this.clientOptions.shouldVerifyMessageSignature)
218
248
  this.messageSignatureCache = SignatureCache.default();
@@ -222,6 +252,13 @@ export class SharedState<IsReady extends boolean = boolean> {
222
252
  this.messageLinks = {};
223
253
  else
224
254
  this.messageLinks = undefined;
255
+
256
+ if (this.clientOptions.loadAndCacheChunk) {
257
+ if (this.clientOptions.cacheImplementation)
258
+ this.cache = new this.clientOptions.cacheImplementation();
259
+ else
260
+ this.cache = new LRUCache(32);
261
+ }
225
262
  }
226
263
 
227
264
  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":"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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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/packet/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/packet/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE7C,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,UAOvE;AAED,qBAAa,aAAa;IACtB,OAAO,CAAC,MAAM,CAAmB;IAE1B,SAAS,wBAEf;IAEM,UAAU,SAEhB;IAEM,QAAQ,CAAC,GAAG,EAAE,MAAM,QAG1B;IAGD;;;;OAIG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,QAKpF;IAED;;OAEG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,QAAwD;IACpF;;OAEG;IACI,UAAU,CAAC,GAAG,EAAE,MAAM,QAAyD;IACtF;;OAEG;IACI,UAAU,CAAC,GAAG,EAAE,MAAM,QAA2D;IACxF;;OAEG;IACI,WAAW,CAAC,GAAG,EAAE,MAAM,QAA4D;IAC1F;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,QAA2D;IACtF;;OAEG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,QAA8D;IAC1F;;OAEG;IACI,UAAU,CAAC,GAAG,EAAE,MAAM,QAA2D;IACxF;;OAEG;IACI,WAAW,CAAC,GAAG,EAAE,MAAM,QAA4D;IAE1F;;OAEG;IACI,YAAY,CAAC,GAAG,EAAE,OAAO,QAAiD;IAGjF;;;;;;OAMG;IACI,WAAW,CAAC,KAAK,EAAE,MAAM,QAe/B;IACD;;;;;;OAMG;IACI,YAAY,CAAC,KAAK,EAAE,MAAM,QAkBhC;IAED;;;;;;OAMG;IACI,WAAW,CAAC,GAAG,EAAE,MAAM,QAI7B;IAED;;;;;;;;;;;OAWG;IACI,aAAa,CAAC,QAAQ,EAAE,IAAI,QAQlC;IAED;;;;;;;;OAQG;IACI,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,KAAK,aAAa,GAAG,MAAM,QASrH;IAED;;;;;;;;OAQG;IACI,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAKtD;IAGD,OAAO,CAAC,IAAI;IAIZ;;;;OAIG;IACI,WAAW,CAAC,IAAI,EAAE,IAAI,QAyB5B;CACJ;AAED,KAAK,aAAa,GAAG,GAAG,GAAG;IACvB,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,GAAG,CAAC;CACd,CAAA;AAsBD,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,IAAI,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,GAAG,CAAA;CACb;AAED,qBAAa,UAAW,SAAQ,aAAa;IAC7B,OAAO,CAAC,MAAM;IAA1B,YAAoB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAExD;IAED;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,GAAG,QAGvB;IAED;;OAEG;IACI,cAAc,CACjB,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,GAAG,QAYb;IAED;;OAEG;IACI,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,QAItC;IAED;;OAEG;IACI,WAAW,CAAC,GAAG,EAAE,MAAM,QAK7B;IAED;;;OAGG;IACI,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAUrC;IAED;;OAEG;IACI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAS7F;IAED;;OAEG;IACI,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAuF1C;IAED;;OAEG;IACI,MAAM,wBAKZ;CACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/packet/encoder.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes