pw-js-world 0.4.4-dev.9d8cea9 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cm/Block.d.ts +20 -51
- package/cm/Block.js +89 -70
- package/cm/Constants.d.ts +16 -0
- package/cm/Constants.js +19 -2
- package/cm/Helper.d.ts +2 -0
- package/cm/Helper.js +114 -52
- package/cm/Player.d.ts +30 -16
- package/cm/Player.js +31 -9
- package/cm/Structure.d.ts +11 -1
- package/cm/Structure.js +44 -16
- package/cm/util/Misc.d.ts +23 -3
- package/cm/util/Misc.js +111 -10
- package/esm/Block.d.ts +20 -51
- package/esm/Block.js +89 -69
- package/esm/Constants.d.ts +16 -0
- package/esm/Constants.js +18 -1
- package/esm/Helper.d.ts +2 -0
- package/esm/Helper.js +114 -52
- package/esm/Player.d.ts +30 -16
- package/esm/Player.js +31 -9
- package/esm/Structure.d.ts +11 -1
- package/esm/Structure.js +44 -16
- package/esm/types/index.d.ts +3 -2
- package/esm/util/Misc.d.ts +23 -3
- package/esm/util/Misc.js +108 -10
- package/package.json +2 -4
package/cm/Block.d.ts
CHANGED
|
@@ -1,64 +1,32 @@
|
|
|
1
1
|
import type { BlockArg, Point, SendableBlockPacket } from "./types/index.js";
|
|
2
|
-
import BufferReader, { ComponentTypeHeader } from "./BufferReader.js";
|
|
3
2
|
import { LayerType } from "./Constants.js";
|
|
4
|
-
import { type BlockKeys } from "pw-js-api";
|
|
3
|
+
import { AnyBlockField, OmitRecursively, ProtoGen, type BlockKeys } from "pw-js-api";
|
|
5
4
|
export default class Block {
|
|
6
5
|
bId: number;
|
|
7
|
-
args: BlockArg[];
|
|
8
|
-
constructor(bId: number | BlockKeys | string, args?: BlockArg[]);
|
|
9
6
|
/**
|
|
10
|
-
*
|
|
7
|
+
* NOTE as of October 2025, this is an object NOT an array.
|
|
11
8
|
*
|
|
12
|
-
*
|
|
9
|
+
* Stores the arguments
|
|
13
10
|
*/
|
|
14
|
-
|
|
11
|
+
args: Record<string, BlockArg>;
|
|
12
|
+
constructor(bId: number | BlockKeys | string, args?: BlockArg[] | OmitRecursively<Record<string, ProtoGen.BlockFieldValue>, "$typeName" | "$unknown">);
|
|
15
13
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* This is in Block class for organisation.
|
|
19
|
-
*
|
|
20
|
-
* This will deserialise by using the reader to get the block ID then retrieve the args, if applicable.
|
|
14
|
+
* True if there is at least one argument, otherwise false.
|
|
21
15
|
*/
|
|
22
|
-
|
|
23
|
-
protected deserializeArgs(reader: BufferReader, flag?: boolean): this;
|
|
24
|
-
/**
|
|
25
|
-
* For helper.
|
|
26
|
-
*
|
|
27
|
-
* This is in Block class for organisation.
|
|
28
|
-
*/
|
|
29
|
-
static deserializeArgs(reader: BufferReader): BlockArg[];
|
|
16
|
+
hasArgs(): boolean;
|
|
30
17
|
/**
|
|
31
|
-
*
|
|
32
|
-
* the block into a binary format that can be sent over the game
|
|
33
|
-
* server. As this is static, block id and args are required.
|
|
34
|
-
*
|
|
35
|
-
* - Little Endian
|
|
36
|
-
* - With Id
|
|
37
|
-
* - Type Byte omitted
|
|
18
|
+
* This is for the fields parameter in sending world block placement.
|
|
38
19
|
*/
|
|
39
|
-
static
|
|
20
|
+
static getArgsAsFields(block: Block): OmitRecursively<ProtoGen.WorldBlockPlacedPacket["fields"], "$typeName">;
|
|
21
|
+
static getArgsAsFields(bId: number, args?: Record<string, BlockArg>): OmitRecursively<ProtoGen.WorldBlockPlacedPacket["fields"], "$typeName">;
|
|
40
22
|
/**
|
|
41
|
-
* Serializes the block into a buffer. This is used to convert
|
|
42
|
-
* the block into a binary format that can be sent over the game
|
|
43
|
-
* server. As this is static, block id and args are required.
|
|
44
23
|
*
|
|
45
|
-
* - Big Endian
|
|
46
|
-
* - No Id
|
|
47
|
-
* - Type Byte included
|
|
48
24
|
*/
|
|
49
|
-
static
|
|
50
|
-
|
|
51
|
-
writeId: false;
|
|
52
|
-
readTypeByte: true;
|
|
53
|
-
}): Buffer;
|
|
54
|
-
static serializeArgs(bId: number, args: BlockArg[], options: {
|
|
55
|
-
endian: "little";
|
|
56
|
-
writeId: false;
|
|
57
|
-
readTypeByte: true;
|
|
58
|
-
}): Buffer;
|
|
25
|
+
static getArgsAsArray(block: Block): BlockArg[];
|
|
26
|
+
static getArgsAsArray(bId: number, args?: Record<string, BlockArg>): BlockArg[];
|
|
59
27
|
/**
|
|
60
|
-
*
|
|
61
|
-
* @param pos List of
|
|
28
|
+
* Returns an object suitable for sending worldBlockPlacedPacket to connection.
|
|
29
|
+
* @param pos List of possible positions (a max of 250 positions) - this does not automatically truncate if it overfills.
|
|
62
30
|
*/
|
|
63
31
|
toPacket(pos: Point[], layer: LayerType): SendableBlockPacket;
|
|
64
32
|
toPacket(x: number, y: number, layer: LayerType): SendableBlockPacket;
|
|
@@ -77,9 +45,10 @@ export default class Block {
|
|
|
77
45
|
clone(obj?: false): Block;
|
|
78
46
|
clone(obj: true): {
|
|
79
47
|
bId: number;
|
|
80
|
-
args: BlockArg
|
|
48
|
+
args: Record<string, BlockArg>;
|
|
81
49
|
name: string;
|
|
82
50
|
};
|
|
51
|
+
compareTo(b: Block): boolean;
|
|
83
52
|
/**
|
|
84
53
|
* This can be convenient as it will always return the ID if it exists, and it will throw an error if it doesn't.
|
|
85
54
|
*
|
|
@@ -99,15 +68,15 @@ export default class Block {
|
|
|
99
68
|
*/
|
|
100
69
|
static getPaletteIdById(blockId: number): string;
|
|
101
70
|
/**
|
|
102
|
-
* Returns the
|
|
71
|
+
* Returns the block fields for that block by given block ID.
|
|
103
72
|
*
|
|
104
73
|
* If a block don't have args, it will return an empty array.
|
|
105
74
|
*
|
|
106
75
|
* If the block don't exist, it may throw an exception.
|
|
107
76
|
*/
|
|
108
|
-
static
|
|
77
|
+
static getFieldsByBlockId(blockId: number): AnyBlockField[];
|
|
109
78
|
/**
|
|
110
|
-
* Returns the
|
|
79
|
+
* Returns the block fields for that block by given palette ID (full upper case).
|
|
111
80
|
*
|
|
112
81
|
* For eg "EMPTY" or "SIGN_GOLD"
|
|
113
82
|
*
|
|
@@ -115,5 +84,5 @@ export default class Block {
|
|
|
115
84
|
*
|
|
116
85
|
* If the block don't exist, it may throw an exception.
|
|
117
86
|
*/
|
|
118
|
-
static
|
|
87
|
+
static getFieldsByPaletteId(paletteId: string): AnyBlockField[];
|
|
119
88
|
}
|
package/cm/Block.js
CHANGED
|
@@ -1,83 +1,95 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const BufferReader_js_1 = tslib_1.__importDefault(require("./BufferReader.js"));
|
|
5
3
|
const pw_js_api_1 = require("pw-js-api");
|
|
6
4
|
const Error_js_1 = require("./util/Error.js");
|
|
5
|
+
const Misc_js_1 = require("./util/Misc.js");
|
|
7
6
|
class Block {
|
|
8
7
|
constructor(bId, args) {
|
|
9
|
-
|
|
8
|
+
/**
|
|
9
|
+
* NOTE as of October 2025, this is an object NOT an array.
|
|
10
|
+
*
|
|
11
|
+
* Stores the arguments
|
|
12
|
+
*/
|
|
13
|
+
this.args = {};
|
|
10
14
|
if (typeof bId === "number")
|
|
11
15
|
this.bId = bId;
|
|
12
16
|
else {
|
|
13
17
|
this.bId = Block.getIdByName(bId);
|
|
14
18
|
}
|
|
15
|
-
if (args)
|
|
16
|
-
|
|
19
|
+
if (args) {
|
|
20
|
+
// LEGACY SUPPORT
|
|
21
|
+
if (Array.isArray(args)) {
|
|
22
|
+
args = Block.getArgsAsFields(this);
|
|
23
|
+
} // else {
|
|
24
|
+
const keys = Object.keys(args);
|
|
25
|
+
if (keys.length > 0) {
|
|
26
|
+
for (let i = 0, ken = keys.length; i < ken; i++) {
|
|
27
|
+
const arg = args[keys[i]];
|
|
28
|
+
const val = arg.value;
|
|
29
|
+
switch (arg.value.case) {
|
|
30
|
+
default:
|
|
31
|
+
// TODO: error handling?
|
|
32
|
+
case "boolValue":
|
|
33
|
+
case "byteArrayValue":
|
|
34
|
+
case "stringValue":
|
|
35
|
+
case "uint32Value":
|
|
36
|
+
case "int32Value":
|
|
37
|
+
this.args[keys[i]] = val.value;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//}
|
|
42
|
+
}
|
|
17
43
|
}
|
|
18
44
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* But anyway, this will return true if there is at least one args, otherwise false.
|
|
45
|
+
* True if there is at least one argument, otherwise false.
|
|
22
46
|
*/
|
|
23
47
|
hasArgs() {
|
|
24
|
-
return this.args.length
|
|
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);
|
|
48
|
+
return Object.keys(this.args).length > 0;
|
|
35
49
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (flag) {
|
|
41
|
-
reader.expectUInt8(format[i]);
|
|
42
|
-
}
|
|
43
|
-
this.args[i] = reader.read(format[i], !flag);
|
|
50
|
+
static getArgsAsFields(bId, args) {
|
|
51
|
+
if (bId instanceof Block) {
|
|
52
|
+
args = bId.args;
|
|
53
|
+
bId = bId.bId;
|
|
44
54
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
55
|
+
if (args === undefined)
|
|
56
|
+
return {};
|
|
57
|
+
const fields = Block.getFieldsByBlockId(bId);
|
|
58
|
+
const obj = {};
|
|
59
|
+
for (let i = 0, len = fields.length; i < len; i++) {
|
|
60
|
+
const f = fields[i];
|
|
61
|
+
if (f.Required === true && args[f.Name] === undefined)
|
|
62
|
+
throw Error(`Missing argument: ${f.Name} (Type: ${f.Type})`);
|
|
63
|
+
else if (f.Required === false && args[f.Name] === undefined)
|
|
64
|
+
continue;
|
|
65
|
+
obj[f.Name] = {
|
|
66
|
+
value: {
|
|
67
|
+
case: (0, Misc_js_1.listedFieldTypeToGameType)(f.Type),
|
|
68
|
+
value: args[f.Name]
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
return obj;
|
|
62
73
|
}
|
|
63
|
-
static
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
readTypeByte: false,
|
|
68
|
-
});
|
|
69
|
-
const buffer = [];
|
|
70
|
-
if (options.writeId) {
|
|
71
|
-
const idBuffer = Buffer.alloc(4);
|
|
72
|
-
idBuffer.writeUInt32LE(bId);
|
|
73
|
-
buffer.push(idBuffer);
|
|
74
|
+
static getArgsAsArray(bId, args) {
|
|
75
|
+
if (bId instanceof Block) {
|
|
76
|
+
args = bId.args;
|
|
77
|
+
bId = bId.bId;
|
|
74
78
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
+
if (args === undefined)
|
|
80
|
+
return [];
|
|
81
|
+
const arr = [];
|
|
82
|
+
const fields = Block.getFieldsByBlockId(bId);
|
|
83
|
+
for (let i = 0, len = fields.length; i < len; i++) {
|
|
84
|
+
const f = fields[i];
|
|
85
|
+
const val = args[f.Name];
|
|
86
|
+
if (f.Required === true && val === undefined)
|
|
87
|
+
throw Error(`Missing argument: ${f.Name} (Type: ${f.Type})`);
|
|
88
|
+
else if (f.Required === false && args[f.Name] === undefined)
|
|
89
|
+
arr.push(undefined);
|
|
90
|
+
arr.push(args[fields[i].Name]);
|
|
79
91
|
}
|
|
80
|
-
return
|
|
92
|
+
return arr;
|
|
81
93
|
}
|
|
82
94
|
toPacket(pos, y, layer) {
|
|
83
95
|
if (typeof pos === "number") {
|
|
@@ -93,7 +105,8 @@ class Block {
|
|
|
93
105
|
blockId: this.bId,
|
|
94
106
|
layer,
|
|
95
107
|
positions: pos,
|
|
96
|
-
|
|
108
|
+
fields: Block.getArgsAsFields(this),
|
|
109
|
+
// extraFields: Block.serializeArgs(this.bId, this.args, { endian: "big", writeId: false, readTypeByte: true })
|
|
97
110
|
};
|
|
98
111
|
}
|
|
99
112
|
/**
|
|
@@ -114,7 +127,13 @@ class Block {
|
|
|
114
127
|
clone(obj = false) {
|
|
115
128
|
if (obj === true)
|
|
116
129
|
return { bId: this.bId, args: this.args, name: this.name };
|
|
117
|
-
|
|
130
|
+
const b = new Block(this.bId);
|
|
131
|
+
b.args = this.args;
|
|
132
|
+
return b;
|
|
133
|
+
}
|
|
134
|
+
compareTo(b) {
|
|
135
|
+
return this.bId === b.bId
|
|
136
|
+
&& (0, Misc_js_1.compareObjs)(this.args, b.args);
|
|
118
137
|
}
|
|
119
138
|
/**
|
|
120
139
|
* This can be convenient as it will always return the ID if it exists, and it will throw an error if it doesn't.
|
|
@@ -126,7 +145,7 @@ class Block {
|
|
|
126
145
|
*/
|
|
127
146
|
static getIdByName(paletteId) {
|
|
128
147
|
var _a;
|
|
129
|
-
const block = (_a = pw_js_api_1.PWApiClient.listBlocksObj) === null || _a === void 0 ? void 0 : _a[paletteId];
|
|
148
|
+
const block = (_a = pw_js_api_1.PWApiClient.listBlocksObj) === null || _a === void 0 ? void 0 : _a[paletteId.toUpperCase()];
|
|
130
149
|
if (block === undefined)
|
|
131
150
|
throw new Error_js_1.MissingBlockError("Current block data is missing, run Api#listBlocks first?", paletteId);
|
|
132
151
|
return block.Id;
|
|
@@ -147,20 +166,20 @@ class Block {
|
|
|
147
166
|
return block.PaletteId.toUpperCase();
|
|
148
167
|
}
|
|
149
168
|
/**
|
|
150
|
-
* Returns the
|
|
169
|
+
* Returns the block fields for that block by given block ID.
|
|
151
170
|
*
|
|
152
171
|
* If a block don't have args, it will return an empty array.
|
|
153
172
|
*
|
|
154
173
|
* If the block don't exist, it may throw an exception.
|
|
155
174
|
*/
|
|
156
|
-
static
|
|
175
|
+
static getFieldsByBlockId(blockId) {
|
|
157
176
|
var _a, _b;
|
|
158
|
-
return (_b = (_a = pw_js_api_1.PWApiClient.listBlocks) === null || _a === void 0 ? void 0 : _a[blockId].
|
|
177
|
+
return (_b = (_a = pw_js_api_1.PWApiClient.listBlocks) === null || _a === void 0 ? void 0 : _a[blockId].Fields) !== null && _b !== void 0 ? _b : [];
|
|
159
178
|
// const block = PWApiClient.listBlocks?.[blockId];
|
|
160
179
|
// return block ? MissingBlockData[block?.PaletteId.toUpperCase()] ?? (block.BlockDataArgs) as ComponentTypeHeader[] ?? [] : [];
|
|
161
180
|
}
|
|
162
181
|
/**
|
|
163
|
-
* Returns the
|
|
182
|
+
* Returns the block fields for that block by given palette ID (full upper case).
|
|
164
183
|
*
|
|
165
184
|
* For eg "EMPTY" or "SIGN_GOLD"
|
|
166
185
|
*
|
|
@@ -168,9 +187,9 @@ class Block {
|
|
|
168
187
|
*
|
|
169
188
|
* If the block don't exist, it may throw an exception.
|
|
170
189
|
*/
|
|
171
|
-
static
|
|
190
|
+
static getFieldsByPaletteId(paletteId) {
|
|
172
191
|
var _a, _b;
|
|
173
|
-
return (_b = (_a = pw_js_api_1.PWApiClient.listBlocksObj) === null || _a === void 0 ? void 0 : _a[paletteId].
|
|
192
|
+
return (_b = (_a = pw_js_api_1.PWApiClient.listBlocksObj) === null || _a === void 0 ? void 0 : _a[paletteId].Fields) !== null && _b !== void 0 ? _b : [];
|
|
174
193
|
//MissingBlockData[paletteId] ?? (PWApiClient.listBlocksObj?.[paletteId].BlockDataArgs) as ComponentTypeHeader[] ?? []
|
|
175
194
|
}
|
|
176
195
|
}
|
|
@@ -180,4 +199,4 @@ exports.default = Block;
|
|
|
180
199
|
// SWITCH_LOCAL_ACTIVATOR: [ComponentTypeHeader.Int32, ComponentTypeHeader.Byte],
|
|
181
200
|
// SWITCH_GLOBAL_ACTIVATOR: [ComponentTypeHeader.Int32, ComponentTypeHeader.Byte],
|
|
182
201
|
// } as Record<string, ComponentTypeHeader[]>;
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvQmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSx5Q0FBa0c7QUFDbEcsOENBQW9EO0FBQ3BELDRDQUF3RTtBQUV4RSxNQUFxQixLQUFLO0lBU3RCLFlBQVksR0FBZ0MsRUFBRSxJQUFxRztRQVBuSjs7OztXQUlHO1FBQ0gsU0FBSSxHQUE2QixFQUFFLENBQUM7UUFHaEMsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRO1lBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7YUFDdkMsQ0FBQztZQUNGLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLGlCQUFpQjtZQUNqQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkMsQ0FBQyxDQUFBLFNBQVM7WUFDTixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRS9CLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUM5QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzFCLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7b0JBRXRCLFFBQVEsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3QkFDckIs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
|
package/cm/Constants.d.ts
CHANGED
|
@@ -3,3 +3,19 @@ export declare enum LayerType {
|
|
|
3
3
|
Foreground = 1,
|
|
4
4
|
Overlay = 2
|
|
5
5
|
}
|
|
6
|
+
export declare enum EffectId {
|
|
7
|
+
JumpHeight = 0,
|
|
8
|
+
Fly = 1,
|
|
9
|
+
Speed = 2,
|
|
10
|
+
Invulnerability = 3,
|
|
11
|
+
Curse = 4,
|
|
12
|
+
Zombie = 5,
|
|
13
|
+
Poison = 6,
|
|
14
|
+
GravityForce = 7,
|
|
15
|
+
MultiJump = 8,
|
|
16
|
+
/**
|
|
17
|
+
* Left = 1, Up = 2, Right = 3.
|
|
18
|
+
*/
|
|
19
|
+
GravityDirection = 9
|
|
20
|
+
}
|
|
21
|
+
export declare const MAX_WORLD_BLOCK_PLACED_PACKET_POSITION_SIZE = 200;
|
package/cm/Constants.js
CHANGED
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LayerType = void 0;
|
|
3
|
+
exports.MAX_WORLD_BLOCK_PLACED_PACKET_POSITION_SIZE = exports.EffectId = exports.LayerType = void 0;
|
|
4
4
|
var LayerType;
|
|
5
5
|
(function (LayerType) {
|
|
6
6
|
LayerType[LayerType["Background"] = 0] = "Background";
|
|
7
7
|
LayerType[LayerType["Foreground"] = 1] = "Foreground";
|
|
8
8
|
LayerType[LayerType["Overlay"] = 2] = "Overlay";
|
|
9
9
|
})(LayerType || (exports.LayerType = LayerType = {}));
|
|
10
|
-
|
|
10
|
+
var EffectId;
|
|
11
|
+
(function (EffectId) {
|
|
12
|
+
EffectId[EffectId["JumpHeight"] = 0] = "JumpHeight";
|
|
13
|
+
EffectId[EffectId["Fly"] = 1] = "Fly";
|
|
14
|
+
EffectId[EffectId["Speed"] = 2] = "Speed";
|
|
15
|
+
EffectId[EffectId["Invulnerability"] = 3] = "Invulnerability";
|
|
16
|
+
EffectId[EffectId["Curse"] = 4] = "Curse";
|
|
17
|
+
EffectId[EffectId["Zombie"] = 5] = "Zombie";
|
|
18
|
+
EffectId[EffectId["Poison"] = 6] = "Poison";
|
|
19
|
+
EffectId[EffectId["GravityForce"] = 7] = "GravityForce";
|
|
20
|
+
EffectId[EffectId["MultiJump"] = 8] = "MultiJump";
|
|
21
|
+
/**
|
|
22
|
+
* Left = 1, Up = 2, Right = 3.
|
|
23
|
+
*/
|
|
24
|
+
EffectId[EffectId["GravityDirection"] = 9] = "GravityDirection";
|
|
25
|
+
})(EffectId || (exports.EffectId = EffectId = {}));
|
|
26
|
+
exports.MAX_WORLD_BLOCK_PLACED_PACKET_POSITION_SIZE = 200;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL0NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLFNBSVg7QUFKRCxXQUFZLFNBQVM7SUFDakIscURBQVUsQ0FBQTtJQUNWLHFEQUFVLENBQUE7SUFDViwrQ0FBTyxDQUFBO0FBQ1gsQ0FBQyxFQUpXLFNBQVMseUJBQVQsU0FBUyxRQUlwQjtBQUVELElBQVksUUFjWDtBQWRELFdBQVksUUFBUTtJQUNoQixtREFBVSxDQUFBO0lBQ1YscUNBQUcsQ0FBQTtJQUNILHlDQUFLLENBQUE7SUFDTCw2REFBZSxDQUFBO0lBQ2YseUNBQUssQ0FBQTtJQUNMLDJDQUFNLENBQUE7SUFDTiwyQ0FBTSxDQUFBO0lBQ04sdURBQVksQ0FBQTtJQUNaLGlEQUFTLENBQUE7SUFDVDs7T0FFRztJQUNILCtEQUFnQixDQUFBO0FBQ3BCLENBQUMsRUFkVyxRQUFRLHdCQUFSLFFBQVEsUUFjbkI7QUFDWSxRQUFBLDJDQUEyQyxHQUFHLEdBQUcsQ0FBQyJ9
|