specprotocol 1.4.2 → 1.4.4

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 (59) hide show
  1. package/dist/block-finder.d.ts +32 -0
  2. package/dist/block-finder.d.ts.map +1 -0
  3. package/dist/block-finder.js +67 -0
  4. package/dist/block-finder.js.map +1 -0
  5. package/dist/bossbar.d.ts +58 -0
  6. package/dist/bossbar.d.ts.map +1 -0
  7. package/dist/bossbar.js +115 -0
  8. package/dist/bossbar.js.map +1 -0
  9. package/dist/bot.d.ts +43 -2
  10. package/dist/bot.d.ts.map +1 -1
  11. package/dist/bot.js +192 -52
  12. package/dist/bot.js.map +1 -1
  13. package/dist/chat.d.ts +57 -0
  14. package/dist/chat.d.ts.map +1 -0
  15. package/dist/chat.js +210 -0
  16. package/dist/chat.js.map +1 -0
  17. package/dist/index.d.ts +10 -3
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +25 -6
  20. package/dist/index.js.map +1 -1
  21. package/dist/inventory.d.ts +98 -0
  22. package/dist/inventory.d.ts.map +1 -0
  23. package/dist/inventory.js +209 -0
  24. package/dist/inventory.js.map +1 -0
  25. package/dist/plugins/built-in/chat.d.ts +0 -4
  26. package/dist/plugins/built-in/chat.d.ts.map +1 -1
  27. package/dist/plugins/built-in/chat.js +0 -40
  28. package/dist/plugins/built-in/chat.js.map +1 -1
  29. package/dist/protocol/compression.d.ts +3 -1
  30. package/dist/protocol/compression.d.ts.map +1 -1
  31. package/dist/protocol/compression.js +16 -3
  32. package/dist/protocol/compression.js.map +1 -1
  33. package/dist/protocol/connection.d.ts.map +1 -1
  34. package/dist/protocol/connection.js +27 -6
  35. package/dist/protocol/connection.js.map +1 -1
  36. package/dist/protocol/packet.d.ts +3 -0
  37. package/dist/protocol/packet.d.ts.map +1 -1
  38. package/dist/protocol/packet.js +28 -4
  39. package/dist/protocol/packet.js.map +1 -1
  40. package/dist/protocol/states/play.d.ts +6 -0
  41. package/dist/protocol/states/play.d.ts.map +1 -1
  42. package/dist/protocol/states/play.js +35 -7
  43. package/dist/protocol/states/play.js.map +1 -1
  44. package/dist/protocol/types.d.ts.map +1 -1
  45. package/dist/protocol/types.js +12 -0
  46. package/dist/protocol/types.js.map +1 -1
  47. package/dist/scoreboard.d.ts +66 -0
  48. package/dist/scoreboard.d.ts.map +1 -0
  49. package/dist/scoreboard.js +153 -0
  50. package/dist/scoreboard.js.map +1 -0
  51. package/dist/tablist.d.ts +56 -0
  52. package/dist/tablist.d.ts.map +1 -0
  53. package/dist/tablist.js +91 -0
  54. package/dist/tablist.js.map +1 -0
  55. package/dist/weather.d.ts +33 -0
  56. package/dist/weather.d.ts.map +1 -0
  57. package/dist/weather.js +74 -0
  58. package/dist/weather.js.map +1 -0
  59. package/package.json +2 -2
package/dist/bot.js CHANGED
@@ -30,9 +30,17 @@ const play_js_1 = require("./protocol/states/play.js");
30
30
  // World & Entity
31
31
  const world_js_1 = require("./world/world.js");
32
32
  const entity_js_1 = require("./entity/entity.js");
33
+ // Core modules
34
+ const tablist_js_1 = require("./tablist.js");
35
+ const chat_js_1 = require("./chat.js");
36
+ const inventory_js_1 = require("./inventory.js");
37
+ const scoreboard_js_1 = require("./scoreboard.js");
38
+ const bossbar_js_1 = require("./bossbar.js");
39
+ const weather_js_1 = require("./weather.js");
40
+ const block_finder_js_1 = require("./block-finder.js");
33
41
  // Plugins
34
42
  const plugin_manager_js_1 = require("./plugins/plugin-manager.js");
35
- const chat_js_1 = require("./plugins/built-in/chat.js");
43
+ const chat_js_2 = require("./plugins/built-in/chat.js");
36
44
  const combat_js_1 = require("./plugins/built-in/combat.js");
37
45
  // ─── Bot Class ──────────────────────────────────────────
38
46
  class Bot extends events_js_1.TypedEventEmitter {
@@ -69,10 +77,24 @@ class Bot extends events_js_1.TypedEventEmitter {
69
77
  entities;
70
78
  plugins;
71
79
  entity;
80
+ // Core modules
81
+ tabList;
82
+ inventory;
83
+ scoreboard;
84
+ bossBars;
85
+ weather;
72
86
  // Config
73
87
  options;
74
88
  // Packet handlers for play state
75
89
  packetHandlers = new Map();
90
+ playPacketListener = null;
91
+ onConnectionError = (err) => {
92
+ this.emit('error', err);
93
+ };
94
+ onConnectionClose = () => {
95
+ this.stopPhysicsTick();
96
+ this.emit('end');
97
+ };
76
98
  constructor(options) {
77
99
  super();
78
100
  this.options = {
@@ -89,14 +111,26 @@ class Bot extends events_js_1.TypedEventEmitter {
89
111
  this.entities = new entity_js_1.EntityManager();
90
112
  this.plugins = new plugin_manager_js_1.PluginManager();
91
113
  this.entity = new entity_js_1.Entity(0, '', 0);
114
+ // Initialize core modules
115
+ this.tabList = new tablist_js_1.TabList();
116
+ this.inventory = new inventory_js_1.Inventory();
117
+ this.scoreboard = new scoreboard_js_1.Scoreboard();
118
+ this.bossBars = new bossbar_js_1.BossBarManager();
119
+ this.weather = new weather_js_1.Weather();
120
+ // Forward core module events to bot
121
+ this.tabList.on('playerJoin', (player) => this.emit('playerJoin', player));
122
+ this.tabList.on('playerLeave', (player) => this.emit('playerLeave', player));
123
+ this.weather.on('weatherChange', (state) => this.emit('weatherChange', state));
92
124
  // Initialize connection
93
125
  this.connection = new connection_js_1.Connection({
94
126
  host: this.options.host,
95
127
  port: this.options.port,
96
128
  logLevel: options.logLevel,
97
129
  });
130
+ this.connection.on('error', this.onConnectionError);
131
+ this.connection.on('close', this.onConnectionClose);
98
132
  // Register built-in plugins (deferred init)
99
- this.plugins.register(new chat_js_1.ChatPlugin());
133
+ this.plugins.register(new chat_js_2.ChatPlugin());
100
134
  this.plugins.register(new combat_js_1.CombatPlugin());
101
135
  // Register user plugins
102
136
  if (options.plugins) {
@@ -123,9 +157,9 @@ class Bot extends events_js_1.TypedEventEmitter {
123
157
  */
124
158
  async connect() {
125
159
  this.logger.info(`Connecting to ${this.options.host}:${this.options.port}...`);
126
- // Setup error/close handling
127
- this.connection.on('error', (err) => this.emit('error', err));
128
- this.connection.on('close', () => this.emit('end'));
160
+ if (this.connection.connected) {
161
+ throw new Error('Bot is already connected');
162
+ }
129
163
  // Connect TCP
130
164
  await this.connection.connect();
131
165
  this.emit('connect');
@@ -163,31 +197,43 @@ class Bot extends events_js_1.TypedEventEmitter {
163
197
  }
164
198
  async handleLoginSequence() {
165
199
  return new Promise((resolve, reject) => {
200
+ let settled = false;
201
+ const finish = (fn) => {
202
+ if (settled)
203
+ return;
204
+ settled = true;
205
+ clearTimeout(timeout);
206
+ this.connection.off('packet', onPacket);
207
+ this.connection.off('close', onClose);
208
+ this.connection.off('error', onError);
209
+ fn();
210
+ };
166
211
  const timeout = setTimeout(() => {
167
- reject(new Error('Login timeout (30s)'));
212
+ finish(() => reject(new Error('Login timeout (30s)')));
168
213
  }, 30000);
214
+ const onClose = () => {
215
+ finish(() => reject(new Error('Connection closed during login')));
216
+ };
217
+ const onError = (err) => {
218
+ finish(() => reject(err));
219
+ };
169
220
  const onPacket = (packet) => {
170
- try {
171
- this.handleLoginPacket(packet, () => {
172
- clearTimeout(timeout);
173
- // Remove login handler IMMEDIATELY before entering config state
174
- this.connection.off('packet', onPacket);
175
- resolve();
176
- });
177
- }
178
- catch (err) {
179
- clearTimeout(timeout);
180
- this.connection.off('packet', onPacket);
181
- reject(err);
182
- }
221
+ this.handleLoginPacket(packet, () => {
222
+ finish(resolve);
223
+ }).catch((err) => {
224
+ const error = err instanceof Error ? err : new Error(String(err));
225
+ finish(() => reject(error));
226
+ });
183
227
  };
184
228
  this.connection.on('packet', onPacket);
229
+ this.connection.on('close', onClose);
230
+ this.connection.on('error', onError);
185
231
  });
186
232
  }
187
- handleLoginPacket(packet, onComplete) {
233
+ async handleLoginPacket(packet, onComplete) {
188
234
  switch (packet.id) {
189
235
  case login_js_1.LoginClientboundPackets.ENCRYPTION_REQUEST: {
190
- this.handleEncryptionRequest(packet.data);
236
+ await this.handleEncryptionRequest(packet.data);
191
237
  break;
192
238
  }
193
239
  case login_js_1.LoginClientboundPackets.SET_COMPRESSION: {
@@ -211,6 +257,9 @@ class Bot extends events_js_1.TypedEventEmitter {
211
257
  this.emit('login');
212
258
  }).catch((err) => {
213
259
  this.logger.error('Configuration state failed:', err);
260
+ const error = err instanceof Error ? err : new Error(String(err));
261
+ this.emit('error', error);
262
+ this.disconnect();
214
263
  });
215
264
  break;
216
265
  }
@@ -218,7 +267,7 @@ class Bot extends events_js_1.TypedEventEmitter {
218
267
  const { reason } = (0, login_js_1.parseDisconnectPacket)(packet.data);
219
268
  this.logger.error(`Disconnected during login: ${reason}`);
220
269
  this.emit('kicked', reason);
221
- break;
270
+ throw new Error(`Disconnected during login: ${reason}`);
222
271
  }
223
272
  case login_js_1.LoginClientboundPackets.LOGIN_PLUGIN_REQUEST: {
224
273
  const pluginReq = (0, login_js_1.parseLoginPluginRequestPacket)(packet.data);
@@ -229,7 +278,7 @@ class Bot extends events_js_1.TypedEventEmitter {
229
278
  }
230
279
  }
231
280
  }
232
- handleEncryptionRequest(data) {
281
+ async handleEncryptionRequest(data) {
233
282
  const request = (0, login_js_1.parseEncryptionRequestPacket)(data);
234
283
  this.logger.info('Handling encryption...');
235
284
  // Generate shared secret
@@ -238,25 +287,15 @@ class Bot extends events_js_1.TypedEventEmitter {
238
287
  const encryptedSecret = (0, encryption_js_1.encryptRSA)(request.publicKey, sharedSecret);
239
288
  const encryptedToken = (0, encryption_js_1.encryptRSA)(request.publicKey, request.verifyToken);
240
289
  // If online mode, join session server
241
- if (request.shouldAuthenticate && this.accessToken) {
290
+ if (request.shouldAuthenticate) {
291
+ if (!this.accessToken) {
292
+ throw new Error('Server requested online authentication but no Microsoft access token is available');
293
+ }
242
294
  const serverHash = (0, encryption_js_1.computeServerHash)(request.serverId, sharedSecret, request.publicKey);
243
- (0, microsoft_js_1.joinServer)(this.accessToken, this._uuid, serverHash)
244
- .then(() => {
245
- // Send encryption response
246
- this.connection.sendPacket(login_js_1.LoginServerboundPackets.ENCRYPTION_RESPONSE, (0, login_js_1.buildEncryptionResponsePacket)(encryptedSecret, encryptedToken));
247
- // Enable encryption for all subsequent packets
248
- this.connection.enableEncryption(sharedSecret);
249
- })
250
- .catch((err) => {
251
- this.logger.error('Failed to join session:', err);
252
- this.emit('error', err);
253
- });
254
- }
255
- else {
256
- // Offline mode or no auth needed
257
- this.connection.sendPacket(login_js_1.LoginServerboundPackets.ENCRYPTION_RESPONSE, (0, login_js_1.buildEncryptionResponsePacket)(encryptedSecret, encryptedToken));
258
- this.connection.enableEncryption(sharedSecret);
295
+ await (0, microsoft_js_1.joinServer)(this.accessToken, this._uuid, serverHash);
259
296
  }
297
+ this.connection.sendPacket(login_js_1.LoginServerboundPackets.ENCRYPTION_RESPONSE, (0, login_js_1.buildEncryptionResponsePacket)(encryptedSecret, encryptedToken));
298
+ this.connection.enableEncryption(sharedSecret);
260
299
  }
261
300
  // ─── Configuration State ────────────────────────────
262
301
  /**
@@ -280,10 +319,26 @@ class Bot extends events_js_1.TypedEventEmitter {
280
319
  */
281
320
  handleConfigurationState() {
282
321
  return new Promise((resolve, reject) => {
283
- const timeout = setTimeout(() => {
322
+ let settled = false;
323
+ const finish = (fn) => {
324
+ if (settled)
325
+ return;
326
+ settled = true;
327
+ clearTimeout(timeout);
284
328
  this.connection.off('packet', configHandler);
285
- reject(new Error('Configuration state timeout (60s)'));
329
+ this.connection.off('close', onClose);
330
+ this.connection.off('error', onError);
331
+ fn();
332
+ };
333
+ const timeout = setTimeout(() => {
334
+ finish(() => reject(new Error('Configuration state timeout (60s)')));
286
335
  }, 60000);
336
+ const onClose = () => {
337
+ finish(() => reject(new Error('Connection closed during configuration state')));
338
+ };
339
+ const onError = (err) => {
340
+ finish(() => reject(err));
341
+ };
287
342
  const configHandler = (packet) => {
288
343
  switch (packet.id) {
289
344
  case 0x03: {
@@ -291,9 +346,7 @@ class Bot extends events_js_1.TypedEventEmitter {
291
346
  this.logger.info('Configuration complete, entering Play state...');
292
347
  // Send Acknowledge Finish Configuration (serverbound 0x03)
293
348
  this.connection.sendPacket(0x03, Buffer.alloc(0));
294
- clearTimeout(timeout);
295
- this.connection.off('packet', configHandler);
296
- resolve();
349
+ finish(resolve);
297
350
  break;
298
351
  }
299
352
  case 0x04: {
@@ -362,9 +415,7 @@ class Bot extends events_js_1.TypedEventEmitter {
362
415
  const reader = new types_js_1.BufferReader(packet.data);
363
416
  const reason = reader.readString();
364
417
  this.logger.error(`Disconnected during configuration: ${reason}`);
365
- clearTimeout(timeout);
366
- this.connection.off('packet', configHandler);
367
- reject(new Error(`Disconnected during configuration: ${reason}`));
418
+ finish(() => reject(new Error(`Disconnected during configuration: ${reason}`)));
368
419
  break;
369
420
  }
370
421
  default: {
@@ -374,11 +425,15 @@ class Bot extends events_js_1.TypedEventEmitter {
374
425
  }
375
426
  };
376
427
  this.connection.on('packet', configHandler);
428
+ this.connection.on('close', onClose);
429
+ this.connection.on('error', onError);
377
430
  });
378
431
  }
379
432
  // ─── Play State ─────────────────────────────────────
380
433
  setupPlayStateHandlers() {
381
- this.connection.on('packet', (packet) => {
434
+ if (this.playPacketListener)
435
+ return;
436
+ this.playPacketListener = (packet) => {
382
437
  this.emit('rawPacket', packet);
383
438
  this.handlePlayPacket(packet);
384
439
  // Call registered packet handlers
@@ -393,7 +448,8 @@ class Bot extends events_js_1.TypedEventEmitter {
393
448
  }
394
449
  }
395
450
  }
396
- });
451
+ };
452
+ this.connection.on('packet', this.playPacketListener);
397
453
  }
398
454
  handlePlayPacket(packet) {
399
455
  switch (packet.id) {
@@ -479,6 +535,16 @@ class Bot extends events_js_1.TypedEventEmitter {
479
535
  }
480
536
  break;
481
537
  }
538
+ case play_js_1.PlayClientboundPackets.BOSS_BAR: {
539
+ try {
540
+ const boss = (0, play_js_1.parseBossBar)(packet.data);
541
+ this.bossBars.handleBossBar(boss.uuid, boss.action, boss.data);
542
+ }
543
+ catch (err) {
544
+ this.logger.error('Failed to parse boss bar:', err);
545
+ }
546
+ break;
547
+ }
482
548
  case play_js_1.PlayClientboundPackets.SPAWN_ENTITY: {
483
549
  try {
484
550
  const spawn = (0, play_js_1.parseSpawnEntity)(packet.data);
@@ -557,6 +623,7 @@ class Bot extends events_js_1.TypedEventEmitter {
557
623
  if (ev.event === play_js_1.GameEventType.CHANGE_GAME_MODE) {
558
624
  this._gameMode = ev.value;
559
625
  }
626
+ this.weather.handleGameEvent(ev.event, ev.value);
560
627
  if (ev.event === play_js_1.GameEventType.START_WAITING_FOR_LEVEL_CHUNKS) {
561
628
  // Send position confirmation after chunks start loading
562
629
  this.connection.sendPacket(play_js_1.PlayServerboundPackets.SET_PLAYER_POSITION_AND_ROTATION, (0, play_js_1.buildSetPlayerPositionAndRotationPacket)(this.entity.position.x, this.entity.position.y, this.entity.position.z, this.entity.yaw, this.entity.pitch, true));
@@ -609,6 +676,47 @@ class Bot extends events_js_1.TypedEventEmitter {
609
676
  catch (_) { /* ignore */ }
610
677
  break;
611
678
  }
679
+ case play_js_1.PlayClientboundPackets.OPEN_SCREEN: {
680
+ try {
681
+ const open = (0, play_js_1.parseOpenScreen)(packet.data);
682
+ this.inventory.openWindow(open.windowId, 0);
683
+ }
684
+ catch (err) {
685
+ this.logger.error('Failed to parse open screen:', err);
686
+ }
687
+ break;
688
+ }
689
+ case play_js_1.PlayClientboundPackets.SET_CONTAINER_CONTENT: {
690
+ try {
691
+ const reader = new types_js_1.BufferReader(packet.data);
692
+ const windowId = reader.readUByte();
693
+ const stateId = reader.readVarInt();
694
+ const slotCount = reader.readVarInt();
695
+ // Full slot component parsing is protocol-version dependent.
696
+ const items = new Array(slotCount).fill(null);
697
+ this.inventory.setContainerContent(windowId, items, stateId, null);
698
+ }
699
+ catch (err) {
700
+ this.logger.error('Failed to parse container content:', err);
701
+ }
702
+ break;
703
+ }
704
+ case play_js_1.PlayClientboundPackets.SET_CONTAINER_SLOT: {
705
+ try {
706
+ const slot = (0, play_js_1.parseSetContainerSlot)(packet.data);
707
+ const item = inventory_js_1.Inventory.parseItem(new types_js_1.BufferReader(slot.slotData));
708
+ this.inventory.setSlot(slot.windowId, slot.slot, item, slot.stateId);
709
+ this.emit('inventoryUpdate', slot.slot, item);
710
+ }
711
+ catch (err) {
712
+ this.logger.error('Failed to parse container slot:', err);
713
+ }
714
+ break;
715
+ }
716
+ case play_js_1.PlayClientboundPackets.CONTAINER_CLOSE: {
717
+ this.inventory.closeWindow();
718
+ break;
719
+ }
612
720
  case play_js_1.PlayClientboundPackets.PING: {
613
721
  try {
614
722
  const reader = new types_js_1.BufferReader(packet.data);
@@ -645,7 +753,9 @@ class Bot extends events_js_1.TypedEventEmitter {
645
753
  case play_js_1.PlayClientboundPackets.SYSTEM_CHAT: {
646
754
  try {
647
755
  const chat = (0, play_js_1.parseSystemChat)(packet.data);
648
- this.emit('chat', chat.content, chat.isOverlay);
756
+ const message = chat_js_1.ChatMessage.parse(chat.content);
757
+ this.emit('chatMessage', message, chat.isOverlay);
758
+ this.emit('chat', message.toString(), chat.isOverlay);
649
759
  }
650
760
  catch (_) { /* ignore */ }
651
761
  break;
@@ -862,10 +972,40 @@ class Bot extends events_js_1.TypedEventEmitter {
862
972
  */
863
973
  disconnect() {
864
974
  this.stopPhysicsTick();
975
+ if (this.playPacketListener) {
976
+ this.connection.off('packet', this.playPacketListener);
977
+ this.playPacketListener = null;
978
+ }
979
+ this.packetHandlers.clear();
865
980
  this.plugins.destroyAll();
866
981
  this.connection.disconnect();
867
982
  this.logger.info('Disconnected');
868
983
  }
984
+ // ─── Block Finding ──────────────────────────────────────
985
+ /**
986
+ * Find blocks matching criteria in loaded chunks.
987
+ * Returns blocks sorted by distance (nearest first).
988
+ *
989
+ * @example
990
+ * ```ts
991
+ * const stones = bot.findBlocks({ matching: 1, maxDistance: 32, count: 10 });
992
+ * ```
993
+ */
994
+ findBlocks(options) {
995
+ return (0, block_finder_js_1.findBlocks)(this.world, {
996
+ ...options,
997
+ point: options.point ?? this.position,
998
+ });
999
+ }
1000
+ /**
1001
+ * Find the nearest block matching criteria.
1002
+ */
1003
+ findBlock(options) {
1004
+ return (0, block_finder_js_1.findBlock)(this.world, {
1005
+ ...options,
1006
+ point: options.point ?? this.position,
1007
+ });
1008
+ }
869
1009
  }
870
1010
  exports.Bot = Bot;
871
1011
  // ─── Factory Function ───────────────────────────────────
@@ -874,7 +1014,7 @@ exports.Bot = Bot;
874
1014
  *
875
1015
  * @example
876
1016
  * ```ts
877
- * import { createBot } from 'mcbot';
1017
+ * import { createBot } from 'specprotocol';
878
1018
  *
879
1019
  * const bot = await createBot({
880
1020
  * host: 'localhost',
package/dist/bot.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
package/dist/chat.d.ts ADDED
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Chat Component Parser
3
+ *
4
+ * Parses Minecraft's JSON chat format into plain text, styled text,
5
+ * and structured data. Supports colors, formatting, click/hover events.
6
+ */
7
+ export interface ChatComponent {
8
+ text?: string;
9
+ translate?: string;
10
+ with?: ChatComponent[];
11
+ extra?: ChatComponent[];
12
+ color?: string;
13
+ bold?: boolean;
14
+ italic?: boolean;
15
+ underlined?: boolean;
16
+ strikethrough?: boolean;
17
+ obfuscated?: boolean;
18
+ insertion?: string;
19
+ clickEvent?: {
20
+ action: string;
21
+ value: string;
22
+ };
23
+ hoverEvent?: {
24
+ action: string;
25
+ contents?: any;
26
+ value?: any;
27
+ };
28
+ }
29
+ export declare class ChatMessage {
30
+ readonly raw: ChatComponent;
31
+ constructor(component: ChatComponent | string);
32
+ /** Convert to plain text (no formatting) */
33
+ toString(): string;
34
+ /** Convert to ANSI colored text for terminal */
35
+ toAnsi(): string;
36
+ /** Convert to HTML */
37
+ toHTML(): string;
38
+ /** Get the color of the root component */
39
+ get color(): string | undefined;
40
+ /** Check if message contains text */
41
+ includes(text: string): boolean;
42
+ /** Get click event if present */
43
+ get clickEvent(): {
44
+ action: string;
45
+ value: string;
46
+ } | undefined;
47
+ /** Parse a chat message from raw JSON string or NBT-like data */
48
+ static parse(data: string | object): ChatMessage;
49
+ /** Parse section sign (§) formatted text */
50
+ static fromLegacy(text: string): ChatMessage;
51
+ private extractText;
52
+ private extractAnsi;
53
+ private extractHTML;
54
+ private hexToRgb;
55
+ private escapeHtml;
56
+ }
57
+ //# sourceMappingURL=chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA8BH,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,UAAU,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;CAChE;AAED,qBAAa,WAAW;IACpB,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;gBAEhB,SAAS,EAAE,aAAa,GAAG,MAAM;IAY7C,4CAA4C;IAC5C,QAAQ,IAAI,MAAM;IAIlB,gDAAgD;IAChD,MAAM,IAAI,MAAM;IAIhB,sBAAsB;IACtB,MAAM,IAAI,MAAM;IAIhB,0CAA0C;IAC1C,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,iCAAiC;IACjC,IAAI,UAAU,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAE9D;IAED,iEAAiE;IACjE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW;IAOhD,4CAA4C;IAC5C,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;IAqC5C,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,UAAU;CAGrB"}