pw-js-world 0.2.0 → 0.2.1-dev.52af3cb

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/cm/Block.js DELETED
@@ -1,223 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BlockArgsHeadings = void 0;
4
- const tslib_1 = require("tslib");
5
- const pw_js_api_1 = require("pw-js-api");
6
- const BufferReader_js_1 = tslib_1.__importStar(require("./BufferReader.js"));
7
- class Block {
8
- constructor(bId, args) {
9
- this.args = [];
10
- if (typeof bId === "number")
11
- this.bId = bId;
12
- else {
13
- this.bId = pw_js_api_1.BlockNames[bId];
14
- }
15
- if (args)
16
- this.args = args;
17
- }
18
- /**
19
- * I mean... Just use .args.length !== 0 to see if it has args.
20
- *
21
- * But anyway, this will return true if there is at least one args, otherwise false.
22
- */
23
- hasArgs() {
24
- return this.args.length !== 0;
25
- }
26
- /**
27
- * For helper.
28
- *
29
- * This is in Block class for organisation.
30
- *
31
- * This will deserialise by using the reader to get the block ID then retrieve the args, if applicable.
32
- */
33
- static deserialize(reader) {
34
- return new Block(reader.readUInt32LE()).deserializeArgs(reader);
35
- }
36
- deserializeArgs(reader, flag = false) {
37
- var _a;
38
- const format = exports.BlockArgsHeadings[this.name];
39
- for (let i = 0; i < ((_a = format === null || format === void 0 ? void 0 : format.length) !== null && _a !== void 0 ? _a : 0); i++) {
40
- if (flag) {
41
- reader.expectUInt8(format[i]);
42
- }
43
- this.args[i] = reader.read(format[i], !flag);
44
- }
45
- return this;
46
- }
47
- /**
48
- * For helper.
49
- *
50
- * This is in Block class for organisation.
51
- */
52
- static deserializeArgs(reader) {
53
- // const args =
54
- return reader.deserialize();
55
- // for (let i = 0; i < (format?.length ?? 0); i++) {
56
- // if (flag) {
57
- // reader.expectUInt8(format[i]);
58
- // }
59
- // args[i] = reader.read(format[i], !flag);
60
- // }
61
- // return args;
62
- }
63
- static serializeArgs(bId, args, options) {
64
- var _a;
65
- options || (options = {
66
- endian: "little",
67
- writeId: true,
68
- readTypeByte: false,
69
- });
70
- const buffer = [];
71
- if (options.writeId) {
72
- const idBuffer = Buffer.alloc(4);
73
- idBuffer.writeUInt32LE(bId);
74
- buffer.push(idBuffer);
75
- }
76
- const blockData = (_a = exports.BlockArgsHeadings[pw_js_api_1.BlockNames[bId]]) !== null && _a !== void 0 ? _a : [];
77
- for (let i = 0, len = blockData.length; i < len; i++) {
78
- const entry = BufferReader_js_1.default.Dynamic(blockData[i], args[i]);
79
- buffer.push(entry);
80
- }
81
- return Buffer.concat(buffer);
82
- }
83
- toPacket(pos, y, layer) {
84
- if (typeof pos === "number") {
85
- pos = [{
86
- x: pos, y
87
- }];
88
- layer = layer !== null && layer !== void 0 ? layer : 0;
89
- }
90
- else
91
- layer = y !== null && y !== void 0 ? y : 0;
92
- return {
93
- isFillOperation: false,
94
- blockId: this.bId,
95
- layer,
96
- positions: pos,
97
- extraFields: Block.serializeArgs(this.bId, this.args, { endian: "big", writeId: false, readTypeByte: true })
98
- };
99
- }
100
- /**
101
- * This will return the block name in UPPER_CASE form.
102
- *
103
- * For eg EFFECTS_INVULNERABILITY.
104
- */
105
- get name() {
106
- return pw_js_api_1.BlockNames[this.bId];
107
- }
108
- clone(obj = false) {
109
- if (obj === true)
110
- return { bId: this.bId, args: this.args, name: this.name };
111
- return new Block(this.bId, this.args);
112
- }
113
- }
114
- exports.default = Block;
115
- /**
116
- * This mapping contains definitions of block data which require additional
117
- * arguments to be sent or received with.
118
- */
119
- exports.BlockArgsHeadings = {
120
- COIN_GOLD_DOOR: [BufferReader_js_1.ComponentTypeHeader.Int32],
121
- COIN_BLUE_DOOR: [BufferReader_js_1.ComponentTypeHeader.Int32],
122
- COIN_GOLD_GATE: [BufferReader_js_1.ComponentTypeHeader.Int32],
123
- COIN_BLUE_GATE: [BufferReader_js_1.ComponentTypeHeader.Int32],
124
- EFFECTS_JUMP_HEIGHT: [BufferReader_js_1.ComponentTypeHeader.Int32],
125
- EFFECTS_FLY: [BufferReader_js_1.ComponentTypeHeader.Boolean],
126
- EFFECTS_SPEED: [BufferReader_js_1.ComponentTypeHeader.Int32],
127
- EFFECTS_INVULNERABILITY: [BufferReader_js_1.ComponentTypeHeader.Boolean],
128
- EFFECTS_CURSE: [BufferReader_js_1.ComponentTypeHeader.Int32],
129
- EFFECTS_ZOMBIE: [BufferReader_js_1.ComponentTypeHeader.Int32],
130
- EFFECTS_GRAVITYFORCE: [BufferReader_js_1.ComponentTypeHeader.Int32],
131
- EFFECTS_MULTI_JUMP: [BufferReader_js_1.ComponentTypeHeader.Int32],
132
- // gravity effects no data
133
- // effects off
134
- // effects zombie
135
- TOOL_PORTAL_WORLD_SPAWN: [BufferReader_js_1.ComponentTypeHeader.Int32],
136
- SIGN_NORMAL: [BufferReader_js_1.ComponentTypeHeader.String],
137
- SIGN_RED: [BufferReader_js_1.ComponentTypeHeader.String],
138
- SIGN_GREEN: [BufferReader_js_1.ComponentTypeHeader.String],
139
- SIGN_BLUE: [BufferReader_js_1.ComponentTypeHeader.String],
140
- SIGN_GOLD: [BufferReader_js_1.ComponentTypeHeader.String],
141
- PORTAL: [BufferReader_js_1.ComponentTypeHeader.Int32, BufferReader_js_1.ComponentTypeHeader.Int32, BufferReader_js_1.ComponentTypeHeader.Int32],
142
- PORTAL_INVISIBLE: [BufferReader_js_1.ComponentTypeHeader.Int32, BufferReader_js_1.ComponentTypeHeader.Int32, BufferReader_js_1.ComponentTypeHeader.Int32],
143
- PORTAL_WORLD: [BufferReader_js_1.ComponentTypeHeader.String, BufferReader_js_1.ComponentTypeHeader.Int32],
144
- SWITCH_LOCAL_TOGGLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
145
- SWITCH_LOCAL_ACTIVATOR: [BufferReader_js_1.ComponentTypeHeader.Int32, BufferReader_js_1.ComponentTypeHeader.Byte],
146
- SWITCH_LOCAL_RESETTER: [BufferReader_js_1.ComponentTypeHeader.Byte],
147
- SWITCH_LOCAL_DOOR: [BufferReader_js_1.ComponentTypeHeader.Int32],
148
- SWITCH_LOCAL_GATE: [BufferReader_js_1.ComponentTypeHeader.Int32],
149
- SWITCH_GLOBAL_TOGGLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
150
- SWITCH_GLOBAL_ACTIVATOR: [BufferReader_js_1.ComponentTypeHeader.Int32, BufferReader_js_1.ComponentTypeHeader.Byte],
151
- SWITCH_GLOBAL_RESETTER: [BufferReader_js_1.ComponentTypeHeader.Byte],
152
- SWITCH_GLOBAL_DOOR: [BufferReader_js_1.ComponentTypeHeader.Int32],
153
- SWITCH_GLOBAL_GATE: [BufferReader_js_1.ComponentTypeHeader.Int32],
154
- HAZARD_DEATH_DOOR: [BufferReader_js_1.ComponentTypeHeader.Int32],
155
- HAZARD_DEATH_GATE: [BufferReader_js_1.ComponentTypeHeader.Int32],
156
- NOTE_DRUM: [BufferReader_js_1.ComponentTypeHeader.ByteArray],
157
- NOTE_PIANO: [BufferReader_js_1.ComponentTypeHeader.ByteArray],
158
- NOTE_GUITAR: [BufferReader_js_1.ComponentTypeHeader.ByteArray],
159
- CUSTOM_SOLID_BG: [BufferReader_js_1.ComponentTypeHeader.UInt32],
160
- CUSTOM_CHECKER_BG: [BufferReader_js_1.ComponentTypeHeader.UInt32],
161
- // ew
162
- COUNTER_WHITE_CONSUMABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
163
- COUNTER_WHITE_CONSUMABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
164
- COUNTER_WHITE_REUSABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
165
- COUNTER_WHITE_REUSABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
166
- COUNTER_WHITE_DOOR: [BufferReader_js_1.ComponentTypeHeader.Int32],
167
- COUNTER_WHITE_GATE: [BufferReader_js_1.ComponentTypeHeader.Int32],
168
- COUNTER_GRAY_CONSUMABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
169
- COUNTER_GRAY_CONSUMABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
170
- COUNTER_GRAY_REUSABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
171
- COUNTER_GRAY_REUSABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
172
- COUNTER_GRAY_DOOR: [BufferReader_js_1.ComponentTypeHeader.Int32],
173
- COUNTER_GRAY_GATE: [BufferReader_js_1.ComponentTypeHeader.Int32],
174
- COUNTER_BLACK_CONSUMABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
175
- COUNTER_BLACK_CONSUMABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
176
- COUNTER_BLACK_REUSABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
177
- COUNTER_BLACK_REUSABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
178
- COUNTER_BLACK_DOOR: [BufferReader_js_1.ComponentTypeHeader.Int32],
179
- COUNTER_BLACK_GATE: [BufferReader_js_1.ComponentTypeHeader.Int32],
180
- COUNTER_RED_CONSUMABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
181
- COUNTER_RED_CONSUMABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
182
- COUNTER_RED_REUSABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
183
- COUNTER_RED_REUSABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
184
- COUNTER_RED_DOOR: [BufferReader_js_1.ComponentTypeHeader.Int32],
185
- COUNTER_RED_GATE: [BufferReader_js_1.ComponentTypeHeader.Int32],
186
- COUNTER_ORANGE_CONSUMABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
187
- COUNTER_ORANGE_CONSUMABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
188
- COUNTER_ORANGE_REUSABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
189
- COUNTER_ORANGE_REUSABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
190
- COUNTER_ORANGE_DOOR: [BufferReader_js_1.ComponentTypeHeader.Int32],
191
- COUNTER_ORANGE_GATE: [BufferReader_js_1.ComponentTypeHeader.Int32],
192
- COUNTER_YELLOW_CONSUMABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
193
- COUNTER_YELLOW_CONSUMABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
194
- COUNTER_YELLOW_REUSABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
195
- COUNTER_YELLOW_REUSABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
196
- COUNTER_YELLOW_DOOR: [BufferReader_js_1.ComponentTypeHeader.Int32],
197
- COUNTER_YELLOW_GATE: [BufferReader_js_1.ComponentTypeHeader.Int32],
198
- COUNTER_GREEN_CONSUMABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
199
- COUNTER_GREEN_CONSUMABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
200
- COUNTER_GREEN_REUSABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
201
- COUNTER_GREEN_REUSABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
202
- COUNTER_GREEN_DOOR: [BufferReader_js_1.ComponentTypeHeader.Int32],
203
- COUNTER_GREEN_GATE: [BufferReader_js_1.ComponentTypeHeader.Int32],
204
- COUNTER_CYAN_CONSUMABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
205
- COUNTER_CYAN_CONSUMABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
206
- COUNTER_CYAN_REUSABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
207
- COUNTER_CYAN_REUSABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
208
- COUNTER_CYAN_DOOR: [BufferReader_js_1.ComponentTypeHeader.Int32],
209
- COUNTER_CYAN_GATE: [BufferReader_js_1.ComponentTypeHeader.Int32],
210
- COUNTER_BLUE_CONSUMABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
211
- COUNTER_BLUE_CONSUMABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
212
- COUNTER_BLUE_REUSABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
213
- COUNTER_BLUE_REUSABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
214
- COUNTER_BLUE_DOOR: [BufferReader_js_1.ComponentTypeHeader.Int32],
215
- COUNTER_BLUE_GATE: [BufferReader_js_1.ComponentTypeHeader.Int32],
216
- COUNTER_MAGENTA_CONSUMABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
217
- COUNTER_MAGENTA_CONSUMABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
218
- COUNTER_MAGENTA_REUSABLE: [BufferReader_js_1.ComponentTypeHeader.Int32],
219
- COUNTER_MAGENTA_REUSABLE_SET: [BufferReader_js_1.ComponentTypeHeader.Int32],
220
- COUNTER_MAGENTA_DOOR: [BufferReader_js_1.ComponentTypeHeader.Int32],
221
- COUNTER_MAGENTA_GATE: [BufferReader_js_1.ComponentTypeHeader.Int32],
222
- };
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvQmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHlDQUF1QztBQUV2Qyw2RUFBc0U7QUFJdEUsTUFBcUIsS0FBSztJQUl0QixZQUFZLEdBQXVCLEVBQUUsSUFBaUI7UUFGdEQsU0FBSSxHQUFlLEVBQUUsQ0FBQztRQUdsQixJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVE7WUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQzthQUN2QyxDQUFDO1lBQ0YsSUFBSSxDQUFDLEdBQUcsR0FBRyxzQkFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFFRCxJQUFJLElBQUk7WUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE9BQU87UUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFvQjtRQUNuQyxPQUFPLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRVMsZUFBZSxDQUFDLE1BQW9CLEVBQUUsSUFBSSxHQUFHLEtBQUs7O1FBQ3hELE1BQU0sTUFBTSxHQUEyQix5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSxtQ0FBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzdDLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1AsTUFBTSxDQUFDLFdB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Q0FBQyxLQUFLLENBQUM7SUFDckQsNEJBQTRCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDekQsc0JBQXNCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDbkQsMEJBQTBCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDdkQsa0JBQWtCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDL0Msa0JBQWtCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDL0Msc0JBQXNCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDbkQsMEJBQTBCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDdkQsb0JBQW9CLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDakQsd0JBQXdCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDckQsZ0JBQWdCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDN0MsZ0JBQWdCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDN0MseUJBQXlCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDdEQsNkJBQTZCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDMUQsdUJBQXVCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDcEQsMkJBQTJCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDeEQsbUJBQW1CLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDaEQsbUJBQW1CLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDaEQseUJBQXlCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDdEQsNkJBQTZCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDMUQsdUJBQXVCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDcEQsMkJBQTJCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDeEQsbUJBQW1CLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDaEQsbUJBQW1CLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDaEQsd0JBQXdCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDckQsNEJBQTRCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDekQsc0JBQXNCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDbkQsMEJBQTBCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDdkQsa0JBQWtCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDL0Msa0JBQWtCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDL0MsdUJBQXVCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDcEQsMkJBQTJCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDeEQscUJBQXFCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDbEQseUJBQXlCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDdEQsaUJBQWlCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDOUMsaUJBQWlCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDOUMsdUJBQXVCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDcEQsMkJBQTJCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDeEQscUJBQXFCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDbEQseUJBQXlCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDdEQsaUJBQWlCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDOUMsaUJBQWlCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDOUMsMEJBQTBCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDdkQsOEJBQThCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDM0Qsd0JBQXdCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDckQsNEJBQTRCLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDekQsb0JBQW9CLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDakQsb0JBQW9CLEVBQUUsQ0FBQyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUM7Q0FDM0MsQ0FBQyJ9
package/cm/Helper.d.ts DELETED
@@ -1,119 +0,0 @@
1
- import { Hook } from "pw-js-api";
2
- import type { ProtoGen } from "pw-js-api";
3
- import Block from "./Block.js";
4
- import Player from "./Player.js";
5
- import { LayerType } from "./Constants.js";
6
- import type { Point, PWGameHook } from "./types/index.js";
7
- import { DeserialisedStructure } from "./Structure.js";
8
- /**
9
- * To use this helper, you must first create an instance of this,
10
- *
11
- * then: <PWGameClient>.addCallback("raw", helper.onRawPacketRecv)
12
- */
13
- export default class PWGameWorldHelper {
14
- /**
15
- * Arrays of blocks (by layer, x, y)
16
- */
17
- blocks: [Block[][], Block[][]];
18
- players: Map<number, Player>;
19
- globalSwitches: boolean[];
20
- private _meta?;
21
- private _width;
22
- private _height;
23
- private _init;
24
- private _selfPlayerId;
25
- /**
26
- * The current world's width.
27
- *
28
- * If you didn't put the hook before init, this may throw error.
29
- */
30
- get width(): number;
31
- /**
32
- * The current world's height.
33
- *
34
- * If you didn't put the hook before init, this may throw error.
35
- */
36
- get height(): number;
37
- /**
38
- * The current world's metadata.
39
- *
40
- * If you didn't put the hook before init, this may throw error.
41
- */
42
- get meta(): ProtoGen.WorldMeta | null;
43
- /**
44
- * If this helper is ready. When it's false, the helper will not return anything for any of the packets.
45
- */
46
- get initialised(): boolean;
47
- /**
48
- * The bot's player object.
49
- *
50
- * If you didn't put the hook before init, this may throw error.
51
- */
52
- get botPlayer(): Player;
53
- /**
54
- * The bot's player id in the world.
55
- *
56
- * If you didn't put the hook before init, this may throw error.
57
- */
58
- get botPlayerId(): number;
59
- /**
60
- * This must go in .use() of the main PW-JS-API Game Client class.
61
- *
62
- * <PWGameClient>.use(<PWGameWorldHelper>.receiveHook)
63
- *
64
- * DO NOT PUT () AFTER RECEIVEHOOK
65
- */
66
- receiveHook: Hook<PWGameHook>;
67
- /**
68
- * Internal function.
69
- */
70
- private initialise;
71
- /**
72
- * Internal function.
73
- */
74
- private deserialize;
75
- private convertSwitchState;
76
- /**
77
- * Internal function, this triggers when the world gets cleared.
78
- *
79
- * Clears the blocks map and promptly fill it with empty except the border which becomes basci gray.
80
- */
81
- private clear;
82
- /**
83
- * Gets the block at the position.
84
- *
85
- * Difference between this and using this.blocks directly is that this function will validate the positions and the layer.
86
- */
87
- getBlockAt(pos: Point, l: LayerType): Block;
88
- getBlockAt(x: number | Point, y: number, l: LayerType): Block;
89
- /**
90
- * Player ID.
91
- *
92
- * The main bot player is excluded from the criteria.
93
- */
94
- getPlayer(id: number, isAccount?: false): Player | undefined;
95
- /**
96
- * Username is case insensitive.
97
- *
98
- * The main bot player is excluded from the criteria.
99
- */
100
- getPlayer(username: string, isAccount?: false): Player | undefined;
101
- /**
102
- * The ID of the account (must have second parameter set to true)
103
- *
104
- * The main bot player is excluded from the criteria.
105
- */
106
- getPlayer(accountId: string, isAccount: true): Player | undefined;
107
- /**
108
- * Returns the list of current players in the world.
109
- */
110
- getPlayers(): Player[];
111
- /**
112
- * This will return a DeserialisedStructure which will allow you to easily save to a file if you wish.
113
- *
114
- * The blocks are cloned and thus you're free to modify the blocks in the structure without the risk of it affecting this helper's blocks.
115
- *
116
- * NOTE: endX and endY are also included!
117
- */
118
- sectionBlocks(startX: number, startY: number, endX: number, endY: number): DeserialisedStructure;
119
- }