@vaitosoi/minejs 0.2.2 → 0.4.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 (149) hide show
  1. package/README.md +1 -1
  2. package/assets/minecraft/26.2/packets.json +4758 -0
  3. package/dist/base/buffer.d.ts +2 -0
  4. package/dist/base/buffer.d.ts.map +1 -0
  5. package/dist/base/buffer.js +12 -0
  6. package/dist/base/buffer.js.map +1 -0
  7. package/dist/base/error.d.ts +59 -3
  8. package/dist/base/error.d.ts.map +1 -1
  9. package/dist/base/error.js +123 -7
  10. package/dist/base/error.js.map +1 -1
  11. package/dist/base/http.d.ts +2 -0
  12. package/dist/base/http.d.ts.map +1 -0
  13. package/dist/base/http.js +14 -0
  14. package/dist/base/http.js.map +1 -0
  15. package/dist/base/math.d.ts +22 -1
  16. package/dist/base/math.d.ts.map +1 -1
  17. package/dist/base/math.js +49 -2
  18. package/dist/base/math.js.map +1 -1
  19. package/dist/base/typing.d.ts +7 -1
  20. package/dist/base/typing.d.ts.map +1 -1
  21. package/dist/client/auth.d.ts +41 -7
  22. package/dist/client/auth.d.ts.map +1 -1
  23. package/dist/client/auth.js +96 -39
  24. package/dist/client/auth.js.map +1 -1
  25. package/dist/client/client.d.ts +73 -17
  26. package/dist/client/client.d.ts.map +1 -1
  27. package/dist/client/client.js +111 -44
  28. package/dist/client/client.js.map +1 -1
  29. package/dist/client/tcp.d.ts +17 -206
  30. package/dist/client/tcp.d.ts.map +1 -1
  31. package/dist/client/tcp.js +37 -715
  32. package/dist/client/tcp.js.map +1 -1
  33. package/dist/index.d.ts +12 -12
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +12 -12
  36. package/dist/index.js.map +1 -1
  37. package/dist/message/link.d.ts +10 -0
  38. package/dist/message/link.d.ts.map +1 -0
  39. package/dist/message/link.js +22 -0
  40. package/dist/message/link.js.map +1 -0
  41. package/dist/message/sigCache.d.ts +13 -0
  42. package/dist/message/sigCache.d.ts.map +1 -0
  43. package/dist/message/sigCache.js +26 -0
  44. package/dist/message/sigCache.js.map +1 -0
  45. package/dist/{translator → packet}/decoder.d.ts +14 -1
  46. package/dist/packet/decoder.d.ts.map +1 -0
  47. package/dist/{translator → packet}/decoder.js +24 -3
  48. package/dist/packet/decoder.js.map +1 -0
  49. package/dist/packet/dispatcher.d.ts +53 -0
  50. package/dist/packet/dispatcher.d.ts.map +1 -0
  51. package/dist/packet/dispatcher.js +738 -0
  52. package/dist/packet/dispatcher.js.map +1 -0
  53. package/dist/{translator → packet}/encoder.d.ts +4 -3
  54. package/dist/packet/encoder.d.ts.map +1 -0
  55. package/dist/{translator → packet}/encoder.js +18 -7
  56. package/dist/packet/encoder.js.map +1 -0
  57. package/dist/packet/static.d.ts.map +1 -0
  58. package/dist/packet/static.js.map +1 -0
  59. package/dist/{base → physics}/aabb.d.ts +2 -2
  60. package/dist/physics/aabb.d.ts.map +1 -0
  61. package/dist/{base → physics}/aabb.js +5 -5
  62. package/dist/physics/aabb.js.map +1 -0
  63. package/dist/physics/direction.d.ts.map +1 -0
  64. package/dist/physics/direction.js.map +1 -0
  65. package/dist/{base → physics}/player.d.ts +25 -28
  66. package/dist/physics/player.d.ts.map +1 -0
  67. package/dist/{base → physics}/player.js +81 -68
  68. package/dist/physics/player.js.map +1 -0
  69. package/dist/version/codec.d.ts +18 -0
  70. package/dist/version/codec.d.ts.map +1 -0
  71. package/dist/version/codec.js +235 -0
  72. package/dist/version/codec.js.map +1 -0
  73. package/dist/version/registry.d.ts +236 -0
  74. package/dist/version/registry.d.ts.map +1 -0
  75. package/dist/version/registry.js +284 -0
  76. package/dist/version/registry.js.map +1 -0
  77. package/dist/{base → world}/block.d.ts +5 -5
  78. package/dist/world/block.d.ts.map +1 -0
  79. package/dist/{base → world}/block.js +13 -13
  80. package/dist/world/block.js.map +1 -0
  81. package/dist/{base → world}/entity.d.ts +4 -4
  82. package/dist/world/entity.d.ts.map +1 -0
  83. package/dist/{base → world}/entity.js +6 -6
  84. package/dist/world/entity.js.map +1 -0
  85. package/dist/world/state.d.ts +175 -0
  86. package/dist/world/state.d.ts.map +1 -0
  87. package/dist/world/state.js +163 -0
  88. package/dist/world/state.js.map +1 -0
  89. package/dist/world/tick.d.ts.map +1 -0
  90. package/dist/world/tick.js.map +1 -0
  91. package/package.json +7 -2
  92. package/src/base/buffer.ts +12 -0
  93. package/src/base/error.ts +93 -4
  94. package/src/base/http.ts +10 -0
  95. package/src/base/math.ts +55 -3
  96. package/src/base/typing.ts +9 -1
  97. package/src/client/auth.ts +130 -52
  98. package/src/client/client.ts +182 -50
  99. package/src/client/tcp.ts +45 -967
  100. package/src/index.ts +12 -12
  101. package/src/message/link.ts +17 -0
  102. package/src/message/sigCache.ts +25 -0
  103. package/src/{translator → packet}/decoder.ts +24 -3
  104. package/src/packet/dispatcher.ts +919 -0
  105. package/src/{translator → packet}/encoder.ts +20 -9
  106. package/src/{base → physics}/aabb.ts +5 -5
  107. package/src/{base → physics}/player.ts +106 -65
  108. package/src/version/codec.ts +248 -0
  109. package/src/version/registry.ts +328 -0
  110. package/src/{base → world}/block.ts +12 -11
  111. package/src/{base → world}/entity.ts +5 -5
  112. package/src/world/state.ts +300 -0
  113. package/test/adapter/index.ts +14 -0
  114. package/test/client/index.ts +28 -21
  115. package/test/json/index.ts +3 -0
  116. package/dist/base/aabb.d.ts.map +0 -1
  117. package/dist/base/aabb.js.map +0 -1
  118. package/dist/base/block.d.ts.map +0 -1
  119. package/dist/base/block.js.map +0 -1
  120. package/dist/base/direction.d.ts.map +0 -1
  121. package/dist/base/direction.js.map +0 -1
  122. package/dist/base/entity.d.ts.map +0 -1
  123. package/dist/base/entity.js.map +0 -1
  124. package/dist/base/player.d.ts.map +0 -1
  125. package/dist/base/player.js.map +0 -1
  126. package/dist/base/registry.d.ts +0 -50
  127. package/dist/base/registry.d.ts.map +0 -1
  128. package/dist/base/registry.js +0 -89
  129. package/dist/base/registry.js.map +0 -1
  130. package/dist/base/tick.d.ts.map +0 -1
  131. package/dist/base/tick.js.map +0 -1
  132. package/dist/translator/decoder.d.ts.map +0 -1
  133. package/dist/translator/decoder.js.map +0 -1
  134. package/dist/translator/encoder.d.ts.map +0 -1
  135. package/dist/translator/encoder.js.map +0 -1
  136. package/dist/translator/static.d.ts.map +0 -1
  137. package/dist/translator/static.js.map +0 -1
  138. package/src/base/registry.ts +0 -87
  139. /package/assets/minecraft/{blocks.json → 26.2/blocks.json} +0 -0
  140. /package/assets/minecraft/{entities.json → 26.2/entities.json} +0 -0
  141. /package/dist/{translator → packet}/static.d.ts +0 -0
  142. /package/dist/{translator → packet}/static.js +0 -0
  143. /package/dist/{base → physics}/direction.d.ts +0 -0
  144. /package/dist/{base → physics}/direction.js +0 -0
  145. /package/dist/{base → world}/tick.d.ts +0 -0
  146. /package/dist/{base → world}/tick.js +0 -0
  147. /package/src/{translator → packet}/static.ts +0 -0
  148. /package/src/{base → physics}/direction.ts +0 -0
  149. /package/src/{base → world}/tick.ts +0 -0
@@ -1,87 +1,146 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Client = void 0;
4
- const node_stream_1 = require("node:stream");
5
- const block_1 = require("../base/block");
6
- const entity_1 = require("../base/entity");
7
- const player_1 = require("../base/player");
8
- const tick_1 = require("../base/tick");
4
+ const node_events_1 = require("node:events");
5
+ const block_1 = require("../world/block");
6
+ const entity_1 = require("../world/entity");
7
+ const player_1 = require("../physics/player");
8
+ const tick_1 = require("../world/tick");
9
9
  const tcp_1 = require("./tcp");
10
- const registry_1 = require("../base/registry");
11
- const direction_1 = require("../base/direction");
10
+ const registry_1 = require("../version/registry");
11
+ const direction_1 = require("../physics/direction");
12
+ const state_1 = require("../world/state");
13
+ const dispatcher_1 = require("../packet/dispatcher");
14
+ const codec_1 = require("../version/codec");
15
+ const auth_1 = require("./auth");
16
+ const math_1 = require("../base/math");
17
+ const error_1 = require("../base/error");
12
18
  /**
13
19
  * High-level client.
14
20
  */
15
- class Client extends node_stream_1.EventEmitter {
21
+ class Client extends node_events_1.EventEmitter {
22
+ options;
23
+ static loadRegistry = false;
16
24
  tickLoop;
17
- tcp;
18
25
  blocks;
19
26
  entities;
20
27
  player;
28
+ tcp;
29
+ state;
21
30
  constructor(options) {
31
+ if (options.shouldVerifyMessageSignature === true && options.shouldVerifyMessageOrder !== true)
32
+ throw new error_1.HaveSignatureButNotIndex();
22
33
  super();
23
- registry_1.BlockRegistry.load();
24
- registry_1.EntityRegistry.load();
25
- this.tcp = new tcp_1.TCPClient(options);
26
- this.blocks = new block_1.BlockManager(this.tcp);
27
- this.entities = new entity_1.EntitiesManager(this.tcp);
28
- this.player = new player_1.Player(this.entities, this.blocks, this.tcp);
29
- this.tickLoop = new tick_1.TickLoop(() => this.player.tick());
30
- this.forwardEvents();
34
+ this.options = options;
35
+ // For managing shared data
36
+ this.state = new state_1.SharedState(options);
37
+ // For handling packet
38
+ const dispatcher = new dispatcher_1.Dispatcher(this.state, this.emit.bind(this));
39
+ // For reading packet
40
+ const versionCodec = new codec_1.VersionCodec(this.state);
41
+ // For throwing packet through internet
42
+ this.tcp = new tcp_1.TCPClient(this.state, {
43
+ ...options,
44
+ protocolVersion: registry_1.ProtocolVersionMapping[options.version]
45
+ });
46
+ this.tcp.forwardPacket = versionCodec.handlePacket.bind(versionCodec);
47
+ this.tcp.parsePacket = versionCodec.encodePacket.bind(versionCodec);
48
+ this.tcp.sendInitPacket = () => {
49
+ dispatcher.sendHandshake();
50
+ dispatcher.sendLoginStart();
51
+ };
52
+ dispatcher.sendPacket = this.tcp.sendPacket.bind(this.tcp);
53
+ dispatcher.disconnect = this.disconnect.bind(this);
54
+ versionCodec.consumePacket = dispatcher.handlePacket.bind(dispatcher);
55
+ // For querying data
56
+ this.blocks = new block_1.BlockManager(this.state);
57
+ this.entities = new entity_1.EntitiesManager(this.state);
58
+ // For physics things
59
+ this.player = new player_1.Player(this.state, this.on, this.entities, this.blocks);
60
+ this.player.sendPlayerPos = dispatcher.sendPlayerPos;
61
+ this.player.sendPlayerPosRot = dispatcher.sendPlayerPosRot;
62
+ this.player.sendPlayerRot = dispatcher.sendPlayerRot;
63
+ this.player.sendPlayerStatus = dispatcher.sendPlayerStatus;
64
+ // For tick-tock tick-tock
65
+ this.tickLoop = new tick_1.TickLoop(() => {
66
+ this.state.drainMutation();
67
+ this.state.drainEvent()
68
+ .forEach(event => this.emitEvent(event));
69
+ this.state.drainPacket()
70
+ .forEach((packet) => this.tcp.sendPacket(packet.id, packet.data));
71
+ this.player.tick();
72
+ });
73
+ // Forward TCP events
74
+ this.tcp.on("connect", () => this.emit("connect"));
75
+ this.tcp.on("destroy", () => this.emit("destroy"));
31
76
  }
32
- forwardEvent(eventName) {
33
- this.tcp.on(eventName, (...args) => this.emit(eventName, ...args));
77
+ emitEvent(event) {
78
+ this.emit(event.event, ...event.args);
34
79
  }
35
- forwardEvents() {
36
- this.forwardEvent("disconnect");
37
- this.forwardEvent("disconnectRaw");
38
- this.forwardEvent("loadChunk");
39
- this.forwardEvent("unloadChunk");
40
- this.forwardEvent("playerPosition");
41
- this.forwardEvent("spawnEntity");
42
- this.forwardEvent("updateEntity");
43
- this.forwardEvent("removeEntity");
44
- this.forwardEvent("message");
45
- this.forwardEvent("systemMessage");
46
- this.forwardEvent("systemMessageRaw");
47
- this.forwardEvent("actionBar");
48
- this.forwardEvent("actionBarRaw");
80
+ async loadRegistries() {
81
+ if (Client.loadRegistry)
82
+ return;
83
+ Client.loadRegistry = true;
84
+ await registry_1.BlockRegistry.load(this.options.version);
85
+ await registry_1.EntityRegistry.load(this.options.version);
86
+ await registry_1.PacketRegistry.load(this.options.version);
49
87
  }
50
88
  // Start / stop
51
89
  /**
52
90
  * Create a connection to the server
53
91
  */
54
- connect() {
92
+ async connect() {
93
+ await this.loadRegistries();
94
+ if (!this.state.playerUUID) {
95
+ if (this.options.auth) {
96
+ this.state.authClient = new auth_1.AuthClient(this.options.auth);
97
+ const { uuid } = await this.state.authClient.getUUID();
98
+ this.state.playerUUID = uuid.replaceAll("-", "");
99
+ await this.state.startSignatureLoop();
100
+ }
101
+ else
102
+ this.state.playerUUID = (0, math_1.computeUUID)(this.options.playerName);
103
+ }
55
104
  this.tcp.connect();
56
- this.tcp.once("ready", () => {
57
- this.emit("ready", this);
105
+ this.once("ready", () => {
58
106
  this.player.pruneInitialVal();
59
107
  this.player.setInitialVal();
60
108
  this.tickLoop.start();
61
109
  });
62
- this.tcp.once("disconnect", () => {
63
- this.tickLoop.stop();
64
- this.player.pruneInitialVal();
110
+ this.tcp.once("destroy", () => {
111
+ if (this.state.state === state_1.ConnectionState.Disconnected)
112
+ return;
113
+ this.disconnect("socket close");
65
114
  });
66
115
  }
67
116
  /**
68
117
  * Destroy the connection
69
118
  */
70
- disconnect() {
119
+ disconnect(reason = "Disconnect", raw) {
120
+ this.state.state = state_1.ConnectionState.Disconnected;
121
+ this.state.status = state_1.ClientStatus.Disconnected;
122
+ this.tickLoop.stop();
123
+ this.player.pruneInitialVal();
124
+ this.state.pruneStates();
125
+ this.emit("disconnect", reason);
126
+ if (raw)
127
+ this.emit("disconnectRaw", raw);
71
128
  this.tcp.disconnect();
129
+ if (this.options.auth)
130
+ this.state.stopSignatureLoop();
72
131
  }
73
132
  // Inputs
74
133
  /**
75
134
  * Press and hold a key
76
135
  */
77
- hold(direction) {
78
- this.player.input(direction);
136
+ hold(inout) {
137
+ this.player.input(inout);
79
138
  }
80
139
  /**
81
140
  * Release a key
82
141
  */
83
- release(direction) {
84
- this.player.releaseInput(direction);
142
+ release(input) {
143
+ this.player.releaseInput(input);
85
144
  }
86
145
  /**
87
146
  * Release all key
@@ -93,6 +152,14 @@ class Client extends node_stream_1.EventEmitter {
93
152
  const vec3 = direction_1.Vec3.loadArgs(a, b, c);
94
153
  return this.blocks.at(vec3);
95
154
  }
155
+ /**
156
+ * Rotate your face
157
+ * @param yaw In degree
158
+ * @param pitch In degree
159
+ */
160
+ lookAt(yaw, pitch) {
161
+ this.player.setAngle(yaw, pitch);
162
+ }
96
163
  }
97
164
  exports.Client = Client;
98
165
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,yCAAyD;AACzD,2CAAiD;AACjD,2CAAuD;AACvD,uCAAwC;AACxC,+BAAoG;AAEpG,+CAAiE;AACjE,iDAAmD;AAwBnD;;GAEG;AACH,YAA0D,SAAS,0BAAqD;IAC5G,QAAQ,CAAW;IAEnB,GAAG,CAAwB;IAC3B,MAAM,CAAe;IACrB,QAAQ,CAAkB;IAC1B,MAAM,CAAS;IAEvB,YAAY,OAAwB;QAChC,KAAK,EAAE,CAAC;QACR,wBAAa,CAAC,IAAI,EAAE,CAAC;QACrB,yBAAc,CAAC,IAAI,EAAE,CAAC;QAEtB,IAAI,CAAC,GAAG,GAAG,IAAI,eAAS,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAEO,YAAY,CAAC,SAAqD;QACtE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IACO,aAAa;QACjB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAED,eAAe;IACf;;OAEG;IACI,OAAO;QACV,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAEnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAoB,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;YAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;IACP,CAAC;IACD;;OAEG;IACI,UAAU;QACb,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IAC1B,CAAC;IAED,SAAS;IACT;;OAEG;IACI,IAAI,CAAC,SAAwB;QAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IACD;;OAEG;IACI,OAAO,CAAC,SAAwB;QACnC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IACD;;OAEG;IACI,UAAU;QACb,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;IACnC,CAAC;IAQM,EAAE,CAAC,CAAoB,EAAE,CAAU,EAAE,CAAU;QAClD,MAAM,IAAI,GAAG,gBAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACJ"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
@@ -1,107 +1,10 @@
1
1
  import { Socket, SocketConstructorOpts } from "node:net";
2
2
  import { TypedEmmiter } from "../base/event";
3
- import { If } from "../base/typing";
4
- import { Angle, BaseVec3 } from "../base/direction";
3
+ import { BinaryDecoder } from "../packet/decoder";
5
4
  import { AuthOption } from "./auth";
6
- /**
7
- * Representing a TextComponent
8
- *
9
- * @see https://minecraft.wiki/w/Text_component_format
10
- */
11
- export type TextComponent = Record<string, any>;
12
- export interface Server {
13
- knownPacks?: ServerKnownPack;
14
- }
15
- export interface ServerKnownPack {
16
- namespace: string;
17
- id: string;
18
- version: string;
19
- }
20
- /**
21
- * Represent world information
22
- */
23
- export interface ServerWorld {
24
- /** Is hardcore enabled */
25
- hardcore: boolean;
26
- /** All dimensions */
27
- dimensions: string[];
28
- /** Max players allowed */
29
- maxPlayers: number;
30
- /** View distances */
31
- viewDistance: number;
32
- /** Simulation distance */
33
- simulationDistance: number;
34
- /**
35
- * The record key is a chunk section position packed as `Player Dimension:Chunk X:Chunk Z[Section Y]`
36
- *
37
- * For `Section Y`, a chunk is splitted into several cubic 16x16x16 sections, or in other word, a chunk is a bund of 16x16x16 sections stacked on each other.
38
- */
39
- chunks: Record<string, ChunkColumn>;
40
- /**
41
- * The record key is entity ID
42
- */
43
- entities: Record<number, Entity>;
44
- }
45
- /**
46
- * Represent a chunk collumns, which may contains multiple chunks sections
47
- */
48
- export interface ChunkColumn {
49
- sections: Record<number, ChunkSection>;
50
- blockEntities: Record<number, BlockEntity>;
51
- }
52
- export interface ChunkSection {
53
- block: PaletteContainer;
54
- biome: PaletteContainer;
55
- }
56
- /**
57
- * Used for indirect mapping
58
- *
59
- * @see https://minecraft.wiki/w/Java_Edition_protocol/Chunk_format#Paletted_Container_structure
60
- */
61
- export interface PaletteContainer {
62
- bpe: number;
63
- palette: number[];
64
- data: BigInt64Array | null;
65
- }
66
- /** Represent a block entity */
67
- export interface BlockEntity {
68
- type: number;
69
- data: Record<string, any>;
70
- }
71
- /** Represent an entity */
72
- export interface Entity {
73
- id: number;
74
- type: number;
75
- position: BaseVec3;
76
- velocity: BaseVec3;
77
- angle: Angle;
78
- data: number;
79
- }
80
- export declare enum GameMode {
81
- Survival = 0,
82
- Creative = 1,
83
- Adventure = 2,
84
- Spectator = 3
85
- }
86
- export interface ClientPlayer {
87
- /** Player UUID */
88
- uuid: string;
89
- /** Player username */
90
- username: string;
91
- /** Player entity ID */
92
- entityId: number;
93
- /** Current game mode */
94
- gameMode: GameMode;
95
- position: BaseVec3;
96
- velocity: BaseVec3;
97
- angle: Angle;
98
- /** Current dimension */
99
- dimension: string;
100
- }
101
- export interface ServerRegistryEntry {
102
- id: string;
103
- data: object;
104
- }
5
+ import { SharedState } from "../world/state";
6
+ import { EncodeResult } from "../version/codec";
7
+ import { TextComponent } from "../base/typing";
105
8
  export interface TCPClientOption {
106
9
  /** Server host */
107
10
  host: string;
@@ -117,10 +20,6 @@ export interface TCPClientOption {
117
20
  protocolVersion: number;
118
21
  /** Player name */
119
22
  playerName: string;
120
- /**
121
- * Set to true only if you are playing in offline server or crack server
122
- */
123
- isOffline?: boolean;
124
23
  /**
125
24
  * Send empty `Known Packet` to let server send all Registry data, which may consume a lot of bandwith
126
25
  */
@@ -133,71 +32,29 @@ export interface TCPClientOption {
133
32
  }
134
33
  export interface TCPClientEvents {
135
34
  connect: [];
136
- disconnect: [reason: string];
137
- disconnectRaw: [textComponent: TextComponent];
138
- raw: [buf: Buffer];
139
- /** Whenever client is ready to use */
140
- ready: [readyClient: TCPClient<true>];
141
- /**
142
- * Sync player position.
143
- *
144
- * Noted that this fired when recived packet from server, not from the internal movement, meaning that calling `input` function would not fire this event.
145
- */
146
- playerPosition: [position: BaseVec3];
147
- /** Load chunk section */
148
- loadChunk: [chunkX: number, sectionY: number, chunkZ: number];
149
- /** Unload chunk column */
150
- unloadChunk: [chunkX: number, chunkZ: number];
151
- /** Spawn an entity */
152
- spawnEntity: [entity: Entity];
153
- /** Update spawned entity */
154
- updateEntity: [entity: Entity];
155
- /** Remove entity */
156
- removeEntity: [entityId: number];
157
- /** Message, usually sent from player */
158
- message: [message: Message];
159
- /** Parsed system message, usually sent from the console, plugins, etc... */
160
- systemMessage: [message: string];
161
- /** Raw system messgae */
162
- systemMessageRaw: [textComponent: TextComponent];
163
- /** Parsed action bar message, the message appeared above your hot bar */
164
- actionBar: [message: string];
165
- /** Raw action bar */
166
- actionBarRaw: [textComponent: TextComponent];
35
+ raw: [buffer: Buffer];
36
+ destroy: [];
167
37
  }
168
38
  export interface Message {
169
39
  sender: string;
170
- target?: string;
40
+ target: string | undefined;
171
41
  content: string;
172
42
  raw: {
173
43
  sender: TextComponent;
174
- target?: TextComponent;
175
- content?: TextComponent;
44
+ target: TextComponent | undefined;
45
+ content: TextComponent | undefined;
176
46
  };
177
47
  }
178
- export declare enum ClientStatus {
179
- Disconnected = 0,
180
- Connecting = 1,
181
- Logining = 2,
182
- Ready = 3
183
- }
184
- export declare enum ClientState {
185
- Disconnected = 0,
186
- Handshake = 1,
187
- Login = 2,
188
- Configure = 3,
189
- Play = 4
190
- }
191
48
  declare const TCPClient_base: new () => TypedEmmiter<TCPClientEvents>;
192
49
  /**
193
50
  * Low-level client. You SHOULD NOT use this client unless you know what are you doing
194
51
  *
195
52
  * @see https://minecraft.wiki/w/Java_Edition_protocol/Packets?oldid=3445844
196
53
  */
197
- export declare class TCPClient<IsReady extends boolean = boolean> extends TCPClient_base {
54
+ export declare class TCPClient extends TCPClient_base {
55
+ private state;
198
56
  readonly option: TCPClientOption;
199
57
  readonly socket: Socket;
200
- server: Server | undefined;
201
58
  /**
202
59
  * | Value | Meaning |
203
60
  * |-------|---------|
@@ -205,65 +62,19 @@ export declare class TCPClient<IsReady extends boolean = boolean> extends TCPCli
205
62
  * | -1 | dont compress |
206
63
  * | > 0 | compression threshold |
207
64
  */
208
- private compressionThreshold;
209
65
  private bufferPool;
210
- status: ClientStatus;
211
- private state;
212
- private sharedSecret;
213
- private cipher;
214
- private decipher;
215
- world?: If<IsReady, ServerWorld>;
216
- player?: If<IsReady, ClientPlayer>;
217
- registry?: If<IsReady, Record<string, ServerRegistryEntry[]>>;
218
- private playerUUID?;
219
- constructor(option: TCPClientOption, socketOption?: SocketConstructorOpts);
220
- private wipePlayData;
66
+ constructor(state: SharedState, option: TCPClientOption, socketOption?: SocketConstructorOpts);
67
+ sendInitPacket: () => void;
68
+ forwardPacket: (packetId: number, decoder: BinaryDecoder) => void;
69
+ parsePacket: (packetId: string | number, data: object) => EncodeResult;
221
70
  /**
222
71
  * Connect to server
223
72
  */
224
- connect(): Promise<void>;
73
+ connect(): void;
225
74
  disconnect(): void;
226
- isReady(): this is TCPClient<true>;
227
- checkReady(): boolean;
228
75
  private handlePacket;
229
- private handleLoginDisconnect;
230
- private handleEncryption;
231
- private handleSetCompression;
232
- private handleLoginSucess;
233
- private handleKnownPack;
234
- private handleRegistryData;
235
- private handleConfiguarionPlayDisconnect;
236
- private handlePlayLogin;
237
- private handleSynchronizePlayerPosition;
238
- private handleKeepAlive;
239
- private handleChangeGameMode;
240
- private handleChunkData;
241
- private handleUnloadChunk;
242
- private handleBlockEntityData;
243
- private handleSpawnEntity;
244
- private handleTeleportEntity;
245
- private handleUpdateEntityPosition;
246
- private handleUpdateEntityPositionRotation;
247
- private handleSetEntityVelocity;
248
- private handleRemoveEntity;
249
- private handlePlayerChat;
250
- private handleSystemMessage;
251
- private handleSetActionBar;
252
- private handleDisguisedChatMessage;
253
76
  write(buf: Buffer): void;
254
- sendPacket(packetId: number, content: Buffer): void;
255
- private sendHandshake;
256
- private sendLoginStart;
257
- private sendEncryptionResponse;
258
- private sendLoginAck;
259
- private sendKnownPack;
260
- private sendConfigureAck;
261
- private sendConfirmTeleportation;
262
- private sendKeepAlive;
263
- sendPlayerPosRot(pos: BaseVec3, rot: Angle, onGround: boolean, pushingWall: boolean): void;
264
- sendPlayerPos(pos: BaseVec3, onGround: boolean, pushingWall: boolean): void;
265
- sendPlayerRot(rot: Angle, onGround: boolean, pushingWall: boolean): void;
266
- sendPlayerStatus(onGround: boolean, pushingWall: boolean): void;
77
+ sendPacket(packetId: number | string, data: Record<string, any>): void;
267
78
  }
268
79
  export {};
269
80
  //# sourceMappingURL=tcp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tcp.d.ts","sourceRoot":"","sources":["../../src/client/tcp.ts"],"names":[],"mappings":"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"}
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;IAyCb,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"}