@vaitosoi/minejs 0.5.0 → 0.6.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 (109) hide show
  1. package/README.md +4 -0
  2. package/assets/minecraft/26.2/components.json +113 -0
  3. package/assets/minecraft/26.2/packets.json +8 -16
  4. package/assets/minecraft/26.3/packets.json +4767 -0
  5. package/assets/minecraft/versionMapping.json +16 -0
  6. package/dist/base/bitset.d.ts.map +1 -1
  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/http.d.ts +1 -0
  13. package/dist/base/http.d.ts.map +1 -1
  14. package/dist/base/http.js +1 -0
  15. package/dist/base/http.js.map +1 -1
  16. package/dist/base/math.d.ts +2 -0
  17. package/dist/base/math.d.ts.map +1 -1
  18. package/dist/base/math.js +2 -0
  19. package/dist/base/math.js.map +1 -1
  20. package/dist/base/typing.d.ts +5 -0
  21. package/dist/base/typing.d.ts.map +1 -1
  22. package/dist/binary/decoder.d.ts +39 -0
  23. package/dist/binary/decoder.d.ts.map +1 -1
  24. package/dist/binary/decoder.js +669 -2
  25. package/dist/binary/decoder.js.map +1 -1
  26. package/dist/binary/encoder.d.ts +7 -3
  27. package/dist/binary/encoder.d.ts.map +1 -1
  28. package/dist/binary/encoder.js +4 -0
  29. package/dist/binary/encoder.js.map +1 -1
  30. package/dist/client/client.d.ts +58 -1
  31. package/dist/client/client.d.ts.map +1 -1
  32. package/dist/client/client.js +38 -0
  33. package/dist/client/client.js.map +1 -1
  34. package/dist/message/link.d.ts +3 -0
  35. package/dist/message/link.d.ts.map +1 -1
  36. package/dist/message/link.js +3 -0
  37. package/dist/message/link.js.map +1 -1
  38. package/dist/message/sigCache.d.ts +5 -0
  39. package/dist/message/sigCache.d.ts.map +1 -1
  40. package/dist/message/sigCache.js +5 -0
  41. package/dist/message/sigCache.js.map +1 -1
  42. package/dist/net/tcp.d.ts +7 -3
  43. package/dist/net/tcp.d.ts.map +1 -1
  44. package/dist/net/tcp.js +6 -3
  45. package/dist/net/tcp.js.map +1 -1
  46. package/dist/packet/listener.d.ts +8 -0
  47. package/dist/packet/listener.d.ts.map +1 -1
  48. package/dist/packet/listener.js +81 -5
  49. package/dist/packet/listener.js.map +1 -1
  50. package/dist/packet/sender.d.ts +6 -1
  51. package/dist/packet/sender.d.ts.map +1 -1
  52. package/dist/packet/sender.js +18 -0
  53. package/dist/packet/sender.js.map +1 -1
  54. package/dist/physics/aabb.d.ts +3 -0
  55. package/dist/physics/aabb.d.ts.map +1 -1
  56. package/dist/physics/aabb.js +10 -7
  57. package/dist/physics/aabb.js.map +1 -1
  58. package/dist/physics/direction.d.ts +3 -0
  59. package/dist/physics/direction.d.ts.map +1 -1
  60. package/dist/physics/direction.js +3 -0
  61. package/dist/physics/direction.js.map +1 -1
  62. package/dist/physics/player.d.ts +3 -0
  63. package/dist/physics/player.d.ts.map +1 -1
  64. package/dist/physics/player.js +4 -5
  65. package/dist/physics/player.js.map +1 -1
  66. package/dist/version/codec.d.ts +4 -0
  67. package/dist/version/codec.d.ts.map +1 -1
  68. package/dist/version/codec.js +29 -14
  69. package/dist/version/codec.js.map +1 -1
  70. package/dist/version/registry.d.ts +30 -6
  71. package/dist/version/registry.d.ts.map +1 -1
  72. package/dist/version/registry.js +64 -19
  73. package/dist/version/registry.js.map +1 -1
  74. package/dist/world/block.d.ts +10 -8
  75. package/dist/world/block.d.ts.map +1 -1
  76. package/dist/world/block.js +17 -11
  77. package/dist/world/block.js.map +1 -1
  78. package/dist/world/container.d.ts +106 -0
  79. package/dist/world/container.d.ts.map +1 -0
  80. package/dist/world/container.js +240 -0
  81. package/dist/world/container.js.map +1 -0
  82. package/dist/world/state.d.ts +11 -5
  83. package/dist/world/state.d.ts.map +1 -1
  84. package/dist/world/state.js +5 -0
  85. package/dist/world/state.js.map +1 -1
  86. package/package.json +2 -2
  87. package/src/base/bitset.ts +0 -1
  88. package/src/base/buffer.ts +1 -0
  89. package/src/base/http.ts +1 -0
  90. package/src/base/math.ts +2 -0
  91. package/src/base/typing.ts +6 -0
  92. package/src/binary/decoder.ts +695 -2
  93. package/src/binary/encoder.ts +7 -3
  94. package/src/client/client.ts +81 -4
  95. package/src/message/link.ts +3 -0
  96. package/src/message/sigCache.ts +5 -0
  97. package/src/net/tcp.ts +17 -10
  98. package/src/packet/listener.ts +106 -6
  99. package/src/packet/sender.ts +29 -2
  100. package/src/physics/aabb.ts +10 -7
  101. package/src/physics/direction.ts +3 -0
  102. package/src/physics/player.ts +8 -5
  103. package/src/version/codec.ts +29 -14
  104. package/src/version/registry.ts +71 -18
  105. package/src/world/block.ts +19 -17
  106. package/src/world/container.ts +180 -0
  107. package/src/world/state.ts +14 -6
  108. package/test/client/index.ts +49 -21
  109. package/test/client/registry.json +1735 -0
@@ -0,0 +1,106 @@
1
+ import { TextComponent } from "../base/typing";
2
+ /**
3
+ * Represent the data of a slot
4
+ *
5
+ * @see https://minecraft.wiki/w/Java_Edition_protocol/Slot_data#Format
6
+ */
7
+ export interface Slot {
8
+ counts: number;
9
+ itemId: number | undefined;
10
+ addComponents: Record<string, any> | undefined;
11
+ removeComponents: number[] | undefined;
12
+ }
13
+ /**
14
+ * Represent a container (such as inventory, chest, anvil, ...)
15
+ */
16
+ export declare class Container {
17
+ /**
18
+ * This is not used at the moment
19
+ */
20
+ id: number;
21
+ /**
22
+ * @see https://minecraft.wiki/w/Java_Edition_protocol/Inventory#Types
23
+ */
24
+ type: number;
25
+ rawTitle: TextComponent;
26
+ /**
27
+ * State ID
28
+ *
29
+ * You SHOULD NOT edit this field since this field is for syncing state from client and server
30
+ */
31
+ stateId: number;
32
+ /**
33
+ * Slots data
34
+ *
35
+ * @see https://minecraft.wiki/w/Java_Edition_protocol/Inventory For more info how how slot are organized
36
+ */
37
+ slots: Slot[];
38
+ /**
39
+ * Data from Set Container Property packet
40
+ *
41
+ * @see https://minecraft.wiki/w/Java_Edition_protocol/Packets#Set_Container_Property
42
+ *
43
+ * | Field | Meaning |
44
+ * |------------------------------------------|---------|
45
+ * | # **Furnace / Blast furnace / Smoker** | ------- |
46
+ * | fuel_left | counting from fuel burn time down to 0 |
47
+ * | max_burn_time | fuel burn time or 0 (in-game ticks) |
48
+ * | progress_arrow | counting from 0 to maximum progress (in-game ticks) |
49
+ * | max_progress | always 200 on the vanilla server |
50
+ * | # **Enchantment table** | ------- |
51
+ * | level_requirement_for_top_enchantment | |
52
+ * | level_requirement_for_middle_enchantment | The enchantment's xp level requirement |
53
+ * | level_requirement_for_bottom_enchantment | |
54
+ * | enchantment_seed | Used for drawing the enchantment names (in SGA) clientside. The same seed is used to calculate enchantments, but some of the data isn't sent to the client to prevent easily guessing the entire list (the seed value here is the regular seed bitwise and 0xFFFFFFF0). |
55
+ * | enchant_id_of_top_enchantment | |
56
+ * | enchant_id_of_middle_enchantment | The enchantment ID (set to -1 to hide it), see below for values |
57
+ * | enchant_id_of_bottom_enchantment | |
58
+ * | enchant_level_of_top_enchantment | |
59
+ * | enchant_level_of_middle_enchantment | The enchantment level (1 = I, 2 = II, 6 = VI, etc.), or -1 if no enchant |
60
+ * | enchant_level_of_bottom_enchantment | |
61
+ * | # **Beacon** | ------- |
62
+ * | power_level | 0-4, controls what effect buttons are enabled |
63
+ * | first_effect | Potion effect ID for the first effect, or -1 if no effect |
64
+ * | second_level | Potion effect ID for the second effect, or -1 if no effect |
65
+ * | # **Anvil** | ------- |
66
+ * | repair_cost | The repair's cost in XP levels |
67
+ * | # **Brewing stand** | ------- |
68
+ * | brew_time | 0 – 400, with 400 making the arrow empty, and 0 making the arrow full |
69
+ * | fuel_time | 0 - 20, with 0 making the arrow empty, and 20 making the arrow full |
70
+ * | # **Stonecutter** | ------- |
71
+ * | selected_recipe | The index of the selected recipe. -1 means none is selected |
72
+ * | # **Loom** | ------- |
73
+ * | selected_pattern | The index of the selected pattern. 0 means none is selected, 0 is also the internal ID of the "base" pattern |
74
+ * | # **Lectern** | ------- |
75
+ * | page_number | The current page number, starting from 0. |
76
+ * | # **Smithing table** | ------- |
77
+ * | has_recipe_error | True if greater than zero |
78
+ * | # **Crafter** | ------- |
79
+ * | slot_0_disabled | |
80
+ * | slot_1_disabled | |
81
+ * | slot_2_disabled | |
82
+ * | slot_3_disabled | |
83
+ * | slot_4_disabled | 0 If the slot is enabled, 1 if the slot is disabled |
84
+ * | slot_5_disabled | |
85
+ * | slot_6_disabled | |
86
+ * | slot_7_disabled | |
87
+ * | slot_8_disabled | |
88
+ *
89
+ * @see https://minecraft.wiki/w/Java_Edition_data_values#Effects For effect ID
90
+ */
91
+ properties: Record<string, number>;
92
+ constructor(
93
+ /**
94
+ * This is not used at the moment
95
+ */
96
+ id: number,
97
+ /**
98
+ * @see https://minecraft.wiki/w/Java_Edition_protocol/Inventory#Types
99
+ */
100
+ type: number, rawTitle: TextComponent);
101
+ /**
102
+ * @see https://minecraft.wiki/w/Java_Edition_protocol/Packets#Set_Container_Property
103
+ */
104
+ setProperty(property: number, data: number): void;
105
+ }
106
+ //# sourceMappingURL=container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/world/container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,IAAI;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAC/C,gBAAgB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;CACzC;AAED;;GAEG;AACH,qBAAa,SAAS;IAqEd;;OAEG;IACI,EAAE,EAAE,MAAM;IACjB;;OAEG;IACI,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,aAAa;IA5ElC;;;;OAIG;IACI,OAAO,EAAE,MAAM,CAAK;IAC3B;;;;OAIG;IACI,KAAK,EAAE,IAAI,EAAE,CAAM;IAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACI,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAE/C;IACI;;OAEG;IACI,EAAE,EAAE,MAAM;IACjB;;OAEG;IACI,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,EAC7B;IAEL;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QA8EhD;CACJ"}
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Container = void 0;
4
+ /**
5
+ * Represent a container (such as inventory, chest, anvil, ...)
6
+ */
7
+ class Container {
8
+ id;
9
+ type;
10
+ rawTitle;
11
+ /**
12
+ * State ID
13
+ *
14
+ * You SHOULD NOT edit this field since this field is for syncing state from client and server
15
+ */
16
+ stateId = 0;
17
+ /**
18
+ * Slots data
19
+ *
20
+ * @see https://minecraft.wiki/w/Java_Edition_protocol/Inventory For more info how how slot are organized
21
+ */
22
+ slots = [];
23
+ /**
24
+ * Data from Set Container Property packet
25
+ *
26
+ * @see https://minecraft.wiki/w/Java_Edition_protocol/Packets#Set_Container_Property
27
+ *
28
+ * | Field | Meaning |
29
+ * |------------------------------------------|---------|
30
+ * | # **Furnace / Blast furnace / Smoker** | ------- |
31
+ * | fuel_left | counting from fuel burn time down to 0 |
32
+ * | max_burn_time | fuel burn time or 0 (in-game ticks) |
33
+ * | progress_arrow | counting from 0 to maximum progress (in-game ticks) |
34
+ * | max_progress | always 200 on the vanilla server |
35
+ * | # **Enchantment table** | ------- |
36
+ * | level_requirement_for_top_enchantment | |
37
+ * | level_requirement_for_middle_enchantment | The enchantment's xp level requirement |
38
+ * | level_requirement_for_bottom_enchantment | |
39
+ * | enchantment_seed | Used for drawing the enchantment names (in SGA) clientside. The same seed is used to calculate enchantments, but some of the data isn't sent to the client to prevent easily guessing the entire list (the seed value here is the regular seed bitwise and 0xFFFFFFF0). |
40
+ * | enchant_id_of_top_enchantment | |
41
+ * | enchant_id_of_middle_enchantment | The enchantment ID (set to -1 to hide it), see below for values |
42
+ * | enchant_id_of_bottom_enchantment | |
43
+ * | enchant_level_of_top_enchantment | |
44
+ * | enchant_level_of_middle_enchantment | The enchantment level (1 = I, 2 = II, 6 = VI, etc.), or -1 if no enchant |
45
+ * | enchant_level_of_bottom_enchantment | |
46
+ * | # **Beacon** | ------- |
47
+ * | power_level | 0-4, controls what effect buttons are enabled |
48
+ * | first_effect | Potion effect ID for the first effect, or -1 if no effect |
49
+ * | second_level | Potion effect ID for the second effect, or -1 if no effect |
50
+ * | # **Anvil** | ------- |
51
+ * | repair_cost | The repair's cost in XP levels |
52
+ * | # **Brewing stand** | ------- |
53
+ * | brew_time | 0 – 400, with 400 making the arrow empty, and 0 making the arrow full |
54
+ * | fuel_time | 0 - 20, with 0 making the arrow empty, and 20 making the arrow full |
55
+ * | # **Stonecutter** | ------- |
56
+ * | selected_recipe | The index of the selected recipe. -1 means none is selected |
57
+ * | # **Loom** | ------- |
58
+ * | selected_pattern | The index of the selected pattern. 0 means none is selected, 0 is also the internal ID of the "base" pattern |
59
+ * | # **Lectern** | ------- |
60
+ * | page_number | The current page number, starting from 0. |
61
+ * | # **Smithing table** | ------- |
62
+ * | has_recipe_error | True if greater than zero |
63
+ * | # **Crafter** | ------- |
64
+ * | slot_0_disabled | |
65
+ * | slot_1_disabled | |
66
+ * | slot_2_disabled | |
67
+ * | slot_3_disabled | |
68
+ * | slot_4_disabled | 0 If the slot is enabled, 1 if the slot is disabled |
69
+ * | slot_5_disabled | |
70
+ * | slot_6_disabled | |
71
+ * | slot_7_disabled | |
72
+ * | slot_8_disabled | |
73
+ *
74
+ * @see https://minecraft.wiki/w/Java_Edition_data_values#Effects For effect ID
75
+ */
76
+ properties = {};
77
+ constructor(
78
+ /**
79
+ * This is not used at the moment
80
+ */
81
+ id,
82
+ /**
83
+ * @see https://minecraft.wiki/w/Java_Edition_protocol/Inventory#Types
84
+ */
85
+ type, rawTitle) {
86
+ this.id = id;
87
+ this.type = type;
88
+ this.rawTitle = rawTitle;
89
+ }
90
+ /**
91
+ * @see https://minecraft.wiki/w/Java_Edition_protocol/Packets#Set_Container_Property
92
+ */
93
+ setProperty(property, data) {
94
+ switch (this.type) {
95
+ case 14: // Furnace
96
+ case 10: // Blast furnace
97
+ case 22: // Smoker
98
+ switch (property) {
99
+ case 0:
100
+ this.properties["fuel_left"] = data;
101
+ break;
102
+ case 1:
103
+ this.properties["max_burn_time"] = data;
104
+ break;
105
+ case 2:
106
+ this.properties["progress_arrow"] = data;
107
+ break;
108
+ case 3:
109
+ this.properties["max_progress"] = data;
110
+ break;
111
+ }
112
+ break;
113
+ case 13: // Enchantment table
114
+ switch (property) {
115
+ case 0:
116
+ this.properties["level_requirement_for_top_enchantment"] = data;
117
+ break;
118
+ case 1:
119
+ this.properties["level_requirement_for_middle_enchantment"] = data;
120
+ break;
121
+ case 2:
122
+ this.properties["level_requirement_for_bottom_enchantment"] = data;
123
+ break;
124
+ case 3:
125
+ this.properties["enchantment_seed"] = data;
126
+ break;
127
+ case 4:
128
+ this.properties["enchant_id_of_top_enchantment"] = data;
129
+ break;
130
+ case 5:
131
+ this.properties["enchant_id_of_middle_enchantment"] = data;
132
+ break;
133
+ case 6:
134
+ this.properties["enchant_id_of_bottom_enchantment"] = data;
135
+ break;
136
+ case 7:
137
+ this.properties["enchant_level_of_top_enchantment"] = data;
138
+ break;
139
+ case 8:
140
+ this.properties["enchant_level_of_middle_enchantment"] = data;
141
+ break;
142
+ case 9:
143
+ this.properties["enchant_level_of_bottom_enchantment"] = data;
144
+ break;
145
+ }
146
+ break;
147
+ case 9: // Beacon
148
+ switch (property) {
149
+ case 0:
150
+ this.properties["power_level"] = data;
151
+ break;
152
+ case 1:
153
+ this.properties["first_effect"] = data;
154
+ break;
155
+ case 2:
156
+ this.properties["second_level"] = data;
157
+ break;
158
+ }
159
+ break;
160
+ case 8: // Anvil
161
+ switch (property) {
162
+ case 0:
163
+ this.properties["repair_cost"] = data;
164
+ break;
165
+ }
166
+ break;
167
+ case 11: // Brewing stand
168
+ switch (property) {
169
+ case 0:
170
+ this.properties["brew_time"] = data;
171
+ break;
172
+ case 1:
173
+ this.properties["fuel_time"] = data;
174
+ break;
175
+ }
176
+ break;
177
+ case 24: // Stonecutter
178
+ switch (property) {
179
+ case 0:
180
+ this.properties["selected_recipe"] = data;
181
+ break;
182
+ }
183
+ break;
184
+ case 18: // Loom
185
+ switch (property) {
186
+ case 0:
187
+ this.properties["selected_pattern"] = data;
188
+ break;
189
+ }
190
+ break;
191
+ case 17: // Lectern
192
+ switch (property) {
193
+ case 0:
194
+ this.properties["page_number"] = data;
195
+ break;
196
+ }
197
+ break;
198
+ case 21: // Smithing table
199
+ switch (property) {
200
+ case 0:
201
+ this.properties["has_recipe_error"] = data;
202
+ break;
203
+ }
204
+ break;
205
+ case 7: // Crafter
206
+ switch (property) {
207
+ case 0:
208
+ this.properties["slot_0_disabled"] = data;
209
+ break;
210
+ case 1:
211
+ this.properties["slot_1_disabled"] = data;
212
+ break;
213
+ case 2:
214
+ this.properties["slot_2_disabled"] = data;
215
+ break;
216
+ case 3:
217
+ this.properties["slot_3_disabled"] = data;
218
+ break;
219
+ case 4:
220
+ this.properties["slot_4_disabled"] = data;
221
+ break;
222
+ case 5:
223
+ this.properties["slot_5_disabled"] = data;
224
+ break;
225
+ case 6:
226
+ this.properties["slot_6_disabled"] = data;
227
+ break;
228
+ case 7:
229
+ this.properties["slot_7_disabled"] = data;
230
+ break;
231
+ case 8:
232
+ this.properties["slot_8_disabled"] = data;
233
+ break;
234
+ }
235
+ break;
236
+ }
237
+ }
238
+ }
239
+ exports.Container = Container;
240
+ //# sourceMappingURL=container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/world/container.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { Cipheriv, Decipheriv } from "node:crypto";
2
- import { If } from "../base/typing";
3
2
  import { Angle, BaseVec3 } from "../physics/direction";
4
3
  import { ClientEvents, ClientOption } from "../client/client";
5
4
  import { AuthClient } from "../client/auth";
6
5
  import { MessageLink } from "../message/link";
7
6
  import { SignatureCache } from "../message/sigCache";
8
7
  import { CacheImplementation } from "../base/cache";
8
+ import { Container, Slot } from "./container";
9
9
  export interface Server {
10
10
  knownPacks?: ServerKnownPack;
11
11
  }
@@ -110,6 +110,8 @@ export interface ClientPlayer {
110
110
  /** Current dimension */
111
111
  dimension: string;
112
112
  effects: Record<number, Effect>;
113
+ inventory: Container;
114
+ carryingItem: Slot | undefined;
113
115
  }
114
116
  export declare enum ClientStatus {
115
117
  Disconnected = 0,
@@ -139,7 +141,10 @@ export type SendingPacket = {
139
141
  id: string | number;
140
142
  data: Record<string, any>;
141
143
  };
142
- export declare class SharedState<IsReady extends boolean = boolean> {
144
+ /**
145
+ * For managing shared data between classes
146
+ */
147
+ export declare class SharedState {
143
148
  clientOptions: ClientOption;
144
149
  private mutationQueue;
145
150
  private eventQueue;
@@ -160,9 +165,10 @@ export declare class SharedState<IsReady extends boolean = boolean> {
160
165
  sessionID: Buffer | undefined;
161
166
  server: Server | undefined;
162
167
  registry: Record<string, ServerRegistryEntry[]> | undefined;
163
- world: If<IsReady, ServerWorld>;
164
- player: If<IsReady, ClientPlayer>;
168
+ world: ServerWorld | null;
169
+ player: ClientPlayer | null;
165
170
  messageCount: number;
171
+ openingContainer: Container | undefined;
166
172
  cache: CacheImplementation<Uint16Array> | undefined;
167
173
  /**
168
174
  * For maintaining message order.
@@ -172,7 +178,7 @@ export declare class SharedState<IsReady extends boolean = boolean> {
172
178
  messageLinks: Record<string, MessageLink> | undefined;
173
179
  messageSignatureCache: SignatureCache | undefined;
174
180
  constructor(clientOptions: ClientOption);
175
- isReady(): this is SharedState<true>;
181
+ isReady(): boolean;
176
182
  checkReady(): void;
177
183
  pruneStates(): void;
178
184
  getSignature(): {
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/world/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/world/state.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,9 @@ var ConnectionState;
26
26
  ConnectionState[ConnectionState["Configure"] = 3] = "Configure";
27
27
  ConnectionState[ConnectionState["Play"] = 4] = "Play";
28
28
  })(ConnectionState || (exports.ConnectionState = ConnectionState = {}));
29
+ /**
30
+ * For managing shared data between classes
31
+ */
29
32
  class SharedState {
30
33
  clientOptions;
31
34
  mutationQueue = [];
@@ -52,6 +55,7 @@ class SharedState {
52
55
  world = null;
53
56
  player = null;
54
57
  messageCount = 0;
58
+ openingContainer = undefined;
55
59
  cache = undefined;
56
60
  /**
57
61
  * For maintaining message order.
@@ -98,6 +102,7 @@ class SharedState {
98
102
  this.world = undefined;
99
103
  this.player = undefined;
100
104
  this.messageCount = 0;
105
+ this.openingContainer = undefined;
101
106
  if (this.clientOptions.shouldVerifyMessageSignature)
102
107
  this.messageSignatureCache = sigCache_1.SignatureCache.default();
103
108
  else
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/world/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/world/state.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaitosoi/minejs",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "A Minecraft client package",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -40,5 +40,5 @@
40
40
  "dependencies": {
41
41
  "zod": "^4.5.2"
42
42
  },
43
- "packageManager": "pnpm@11.24.0"
43
+ "packageManager": "pnpm@12.5.1"
44
44
  }
@@ -2,7 +2,6 @@ import assert from "node:assert";
2
2
  import { UnexpectedValue } from "./error";
3
3
  import { numberOfLeadingZeros, numberOfTrailingZeros } from "./math";
4
4
 
5
-
6
5
  /**
7
6
  * Simplified implementation of the Java's BitSet class
8
7
  *
@@ -1,3 +1,4 @@
1
+ /** @hidden */
1
2
  export function sliceBuffer<T = Buffer>(
2
3
  buf: Buffer,
3
4
  byteLength: number,
package/src/base/http.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { AuthClientError } from "./error";
2
2
 
3
+ /** @hidden */
3
4
  export async function getJson(res: Response, source: string) {
4
5
  const data = await res.text();
5
6
  try {
package/src/base/math.ts CHANGED
@@ -118,6 +118,7 @@ function mcHexDigest(digest: Buffer | Uint8Array): string {
118
118
  * Simplified implementation of Java's Long.numberOfTrailingZeros
119
119
  * @param n
120
120
  * @returns
121
+ * @hidden
121
122
  */
122
123
  export function numberOfTrailingZeros(n: bigint): number {
123
124
  if (n === 0n) {
@@ -137,6 +138,7 @@ export function numberOfTrailingZeros(n: bigint): number {
137
138
  * Simplified implementation of Java's Long.numberOfLeadingZeros
138
139
  * @param n
139
140
  * @returns
141
+ * @hidden
140
142
  */
141
143
  export function numberOfLeadingZeros(n: bigint): number {
142
144
  if (n === 0n) {
@@ -9,6 +9,12 @@ export type If<Condition extends boolean, True, False = null> = Condition extend
9
9
  */
10
10
  export type TextComponent = Record<string, any>;
11
11
 
12
+
13
+ /**
14
+ * Representing the data in Registry Data packet
15
+ *
16
+ * @see https://minecraft.wiki/w/Java_Edition_protocol/Packets#Registry_Data
17
+ */
12
18
  export interface RegistryData {
13
19
  registry_id: string,
14
20
  entries: { entry_id: string, data: Record<string, any> | null }[]