@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.
- package/README.md +4 -0
- package/assets/minecraft/26.2/components.json +113 -0
- package/assets/minecraft/26.2/packets.json +8 -16
- package/assets/minecraft/26.3/packets.json +4767 -0
- package/assets/minecraft/versionMapping.json +16 -0
- package/dist/base/bitset.d.ts.map +1 -1
- package/dist/base/bitset.js.map +1 -1
- package/dist/base/buffer.d.ts +1 -0
- package/dist/base/buffer.d.ts.map +1 -1
- package/dist/base/buffer.js +1 -0
- package/dist/base/buffer.js.map +1 -1
- package/dist/base/http.d.ts +1 -0
- package/dist/base/http.d.ts.map +1 -1
- package/dist/base/http.js +1 -0
- package/dist/base/http.js.map +1 -1
- package/dist/base/math.d.ts +2 -0
- package/dist/base/math.d.ts.map +1 -1
- package/dist/base/math.js +2 -0
- package/dist/base/math.js.map +1 -1
- package/dist/base/typing.d.ts +5 -0
- package/dist/base/typing.d.ts.map +1 -1
- package/dist/binary/decoder.d.ts +39 -0
- package/dist/binary/decoder.d.ts.map +1 -1
- package/dist/binary/decoder.js +669 -2
- package/dist/binary/decoder.js.map +1 -1
- package/dist/binary/encoder.d.ts +7 -3
- package/dist/binary/encoder.d.ts.map +1 -1
- package/dist/binary/encoder.js +4 -0
- package/dist/binary/encoder.js.map +1 -1
- package/dist/client/client.d.ts +58 -1
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +38 -0
- package/dist/client/client.js.map +1 -1
- package/dist/message/link.d.ts +3 -0
- package/dist/message/link.d.ts.map +1 -1
- package/dist/message/link.js +3 -0
- package/dist/message/link.js.map +1 -1
- package/dist/message/sigCache.d.ts +5 -0
- package/dist/message/sigCache.d.ts.map +1 -1
- package/dist/message/sigCache.js +5 -0
- package/dist/message/sigCache.js.map +1 -1
- package/dist/net/tcp.d.ts +7 -3
- package/dist/net/tcp.d.ts.map +1 -1
- package/dist/net/tcp.js +6 -3
- package/dist/net/tcp.js.map +1 -1
- package/dist/packet/listener.d.ts +8 -0
- package/dist/packet/listener.d.ts.map +1 -1
- package/dist/packet/listener.js +81 -5
- package/dist/packet/listener.js.map +1 -1
- package/dist/packet/sender.d.ts +6 -1
- package/dist/packet/sender.d.ts.map +1 -1
- package/dist/packet/sender.js +18 -0
- package/dist/packet/sender.js.map +1 -1
- package/dist/physics/aabb.d.ts +3 -0
- package/dist/physics/aabb.d.ts.map +1 -1
- package/dist/physics/aabb.js +10 -7
- package/dist/physics/aabb.js.map +1 -1
- package/dist/physics/direction.d.ts +3 -0
- package/dist/physics/direction.d.ts.map +1 -1
- package/dist/physics/direction.js +3 -0
- package/dist/physics/direction.js.map +1 -1
- package/dist/physics/player.d.ts +3 -0
- package/dist/physics/player.d.ts.map +1 -1
- package/dist/physics/player.js +4 -5
- package/dist/physics/player.js.map +1 -1
- package/dist/version/codec.d.ts +4 -0
- package/dist/version/codec.d.ts.map +1 -1
- package/dist/version/codec.js +29 -14
- package/dist/version/codec.js.map +1 -1
- package/dist/version/registry.d.ts +30 -6
- package/dist/version/registry.d.ts.map +1 -1
- package/dist/version/registry.js +64 -19
- package/dist/version/registry.js.map +1 -1
- package/dist/world/block.d.ts +10 -8
- package/dist/world/block.d.ts.map +1 -1
- package/dist/world/block.js +17 -11
- package/dist/world/block.js.map +1 -1
- package/dist/world/container.d.ts +106 -0
- package/dist/world/container.d.ts.map +1 -0
- package/dist/world/container.js +240 -0
- package/dist/world/container.js.map +1 -0
- package/dist/world/state.d.ts +11 -5
- package/dist/world/state.d.ts.map +1 -1
- package/dist/world/state.js +5 -0
- package/dist/world/state.js.map +1 -1
- package/package.json +2 -2
- package/src/base/bitset.ts +0 -1
- package/src/base/buffer.ts +1 -0
- package/src/base/http.ts +1 -0
- package/src/base/math.ts +2 -0
- package/src/base/typing.ts +6 -0
- package/src/binary/decoder.ts +695 -2
- package/src/binary/encoder.ts +7 -3
- package/src/client/client.ts +81 -4
- package/src/message/link.ts +3 -0
- package/src/message/sigCache.ts +5 -0
- package/src/net/tcp.ts +17 -10
- package/src/packet/listener.ts +106 -6
- package/src/packet/sender.ts +29 -2
- package/src/physics/aabb.ts +10 -7
- package/src/physics/direction.ts +3 -0
- package/src/physics/player.ts +8 -5
- package/src/version/codec.ts +29 -14
- package/src/version/registry.ts +71 -18
- package/src/world/block.ts +19 -17
- package/src/world/container.ts +180 -0
- package/src/world/state.ts +14 -6
- package/test/client/index.ts +49 -21
- 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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"}
|
package/dist/world/state.d.ts
CHANGED
|
@@ -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
|
-
|
|
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:
|
|
164
|
-
player:
|
|
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():
|
|
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":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/world/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAY,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,MAAM;IACnB,UAAU,CAAC,EAAE,eAAe,CAAA;CAC/B;AAED,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,0BAA0B;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,qBAAqB;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,0BAA0B;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;CAC7C;AAED,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;CAC9B;AAED,+BAA+B;AAC/B,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC5B;AAED,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE;QACF,SAAS,EAAE,OAAO,CAAC;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;QAClB,KAAK,EAAE,OAAO,CAAA;KACjB,CAAC;IACF;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACf;AAED,0BAA0B;AAC1B,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAA;CACf;AAED,oBAAY,QAAQ;IAChB,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,SAAS,IAAI;IACb,SAAS,IAAI;CAChB;AAED,MAAM,WAAW,YAAY;IACzB,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IAEb,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,IAAI,GAAG,SAAS,CAAC;CAClC;AAED,oBAAY,YAAY;IACpB,YAAY,IAAA;IACZ,UAAU,IAAA;IACV,QAAQ,IAAA;IACR,KAAK,IAAA;CACR;AAED,oBAAY,eAAe;IACvB,YAAY,IAAA;IACZ,SAAS,IAAA;IACT,KAAK,IAAA;IACL,SAAS,IAAA;IACT,IAAI,IAAA;CACP;AAED,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AACvD,MAAM,MAAM,YAAY,GAAG;KACtB,CAAC,IAAI,MAAM,YAAY,GAAG;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;KAAE;CACjE,CAAC,MAAM,YAAY,CAAC,CAAA;AACrB,MAAM,MAAM,aAAa,GAAG;IACxB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC5B,CAAA;AAED;;GAEG;AACH,qBAAa,WAAW;IA0CT,aAAa,EAAE,YAAY;IAzCtC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,WAAW,CAAuB;IAEnC,KAAK,EAAE,eAAe,CAAgC;IACtD,MAAM,EAAE,YAAY,CAA6B;IACjD,oBAAoB,EAAE,MAAM,CAAK;IAGjC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAa;IAC/C,UAAU,EAAE,MAAM,GAAG,SAAS,CAAa;IAC3C,SAAS,EAAE,MAAM,GAAG,SAAS,CAAa;IAC1C,SAAS,EAAE,MAAM,GAAG,SAAS,CAAa;IAC1C,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAa;IAE3D,OAAO,CAAC,wBAAwB,CAAyC;IAElE,YAAY,EAAE,MAAM,GAAG,SAAS,CAAa;IAC7C,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAa;IACzC,QAAQ,EAAE,UAAU,GAAG,SAAS,CAAa;IAC7C,aAAa,EAAE,OAAO,CAAS;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAa;IAE1C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAa;IACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,GAAG,SAAS,CAAa;IACxE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAQ;IACjC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAQ;IACnC,YAAY,EAAE,MAAM,CAAK;IACzB,gBAAgB,EAAE,SAAS,GAAG,SAAS,CAAa;IAEpD,KAAK,EAAE,mBAAmB,CAAC,WAAW,CAAC,GAAG,SAAS,CAAa;IAEvE;;;;OAIG;IACI,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CAAa;IAClE,qBAAqB,EAAE,cAAc,GAAG,SAAS,CAAa;IAErE,YACW,aAAa,EAAE,YAAY,EAQrC;IAEM,OAAO,YAEb;IAEM,UAAU,SAGhB;IAEM,WAAW,SA2CjB;IAEM,YAAY;;;MAOlB;YAEa,cAAc;IAQf,kBAAkB,kBAM9B;IACM,iBAAiB,SAEvB;IAEM,eAAe,CAAC,QAAQ,EAAE,WAAW,QAAwC;IAE7E,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACjD,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;IAW1C,YAAY,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IACpF,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAA;IAWvC,aAAa,SAQnB;IACM,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,QAQxD;IACM,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,QAQ3D;CACJ"}
|
package/dist/world/state.js
CHANGED
|
@@ -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
|
package/dist/world/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/world/state.ts"],"names":[],"mappings":";;;
|
|
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.
|
|
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@
|
|
43
|
+
"packageManager": "pnpm@12.5.1"
|
|
44
44
|
}
|
package/src/base/bitset.ts
CHANGED
package/src/base/buffer.ts
CHANGED
package/src/base/http.ts
CHANGED
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) {
|
package/src/base/typing.ts
CHANGED
|
@@ -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 }[]
|