pw-js-world 0.4.5-dev.ad752ff → 0.4.5

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 CHANGED
@@ -1,6 +1,6 @@
1
- import type { BlockArg, Point, SendableBlockPacket } from "./types/index.js";
1
+ import type { BlockArg, Point } from "./types/index.js";
2
2
  import { LayerType } from "./Constants.js";
3
- import { AnyBlockField, OmitRecursively, ProtoGen, type BlockKeys } from "pw-js-api";
3
+ import { AnyBlockField, CleanProtoMessage, ISendablePacket, ProtoGen, type BlockKeys } from "pw-js-api";
4
4
  export default class Block {
5
5
  bId: number;
6
6
  /**
@@ -23,7 +23,7 @@ export default class Block {
23
23
  *
24
24
  * INTERNAL
25
25
  */
26
- _initArgs(args: OmitRecursively<Record<string, ProtoGen.BlockFieldValue>, "$typeName" | "$unknown">): this;
26
+ _initArgs(args: CleanProtoMessage<Record<string, ProtoGen.BlockFieldValue>>): this;
27
27
  /**
28
28
  * True if there is at least one argument, otherwise false.
29
29
  */
@@ -33,24 +33,44 @@ export default class Block {
33
33
  *
34
34
  * If the whole Block is passed, and the args parameter is undefined, the block's args will be used.
35
35
  */
36
- static getArgsAsFields(block: Block, args?: Record<string, BlockArg>): OmitRecursively<ProtoGen.WorldBlockPlacedPacket["fields"], "$typeName">;
37
- static getArgsAsFields(bId: number, args?: Record<string, BlockArg>): OmitRecursively<ProtoGen.WorldBlockPlacedPacket["fields"], "$typeName">;
36
+ static getArgsAsFields(block: Block, args?: Record<string, BlockArg>): CleanProtoMessage<ProtoGen.WorldBlockPlacedPacket["fields"]>;
37
+ static getArgsAsFields(bId: number, args?: Record<string, BlockArg>): CleanProtoMessage<ProtoGen.WorldBlockPlacedPacket["fields"]>;
38
38
  /**
39
39
  */
40
40
  static getArgsAsArray(block: Block): BlockArg[];
41
41
  static getArgsAsArray(bId: number, args?: Record<string, BlockArg>): BlockArg[];
42
+ /**
43
+ * Checks if all required fields are present, it will also check if there are extra fields that are not used.
44
+ *
45
+ * Returns an object with two lists: values and keys. The indexes of values also point to keys.
46
+ *
47
+ * For example:
48
+ * ```js
49
+ * { values: [3, "Text is awesome."], keys: ["rotation", "text"] }
50
+ * ```
51
+ *
52
+ * NOTE: This will not error if a required field is missing. This also doesn't validate string against patterns for now.
53
+ */
54
+ static validateArgs(block: Block): {
55
+ values: BlockArg[];
56
+ keys: string[];
57
+ };
58
+ static validateArgs(bId: number, args?: Record<string, BlockArg>): {
59
+ values: BlockArg[];
60
+ keys: string[];
61
+ };
42
62
  /**
43
63
  * This is sort of for internal use,
44
64
  * this will convert the packet form of fields
45
65
  * back into object of arg names mapped to their values.
46
66
  */
47
- static parseArgFields(args: OmitRecursively<ProtoGen.WorldBlockPlacedPacket["fields"], "$typeName">): Record<string, BlockArg>;
67
+ static parseArgFields(args: CleanProtoMessage<ProtoGen.WorldBlockPlacedPacket["fields"]>): Record<string, BlockArg>;
48
68
  /**
49
69
  * Returns an object suitable for sending worldBlockPlacedPacket to connection.
50
70
  * @param pos List of possible positions (a max of 250 positions) - this does not automatically truncate if it overfills.
51
71
  */
52
- toPacket(pos: Point[], layer: LayerType): SendableBlockPacket;
53
- toPacket(x: number, y: number, layer: LayerType): SendableBlockPacket;
72
+ toPacket(pos: Point[], layer: LayerType): ISendablePacket<"worldBlockPlacedPacket">;
73
+ toPacket(x: number, y: number, layer: LayerType): ISendablePacket<"worldBlockPlacedPacket">;
54
74
  /**
55
75
  * This will return the block name in UPPER_CASE form.
56
76
  *
package/cm/Block.js CHANGED
@@ -65,9 +65,12 @@ class Block {
65
65
  args !== null && args !== void 0 ? args : (args = bId.args);
66
66
  bId = bId.bId;
67
67
  }
68
- if (args === undefined)
69
- return {};
70
68
  const fields = Block.getFieldsByBlockId(bId);
69
+ if (args === undefined) {
70
+ if (fields.length > 0)
71
+ throw Error(`Missing arguments: ${(0, Misc_js_1.map)(fields, v => v.Name).join(", ")}.`);
72
+ return [];
73
+ }
71
74
  const obj = {};
72
75
  for (let i = 0, len = fields.length; i < len; i++) {
73
76
  const f = fields[i];
@@ -86,13 +89,16 @@ class Block {
86
89
  }
87
90
  static getArgsAsArray(bId, args) {
88
91
  if (bId instanceof Block) {
89
- args = bId.args;
92
+ args !== null && args !== void 0 ? args : (args = bId.args);
90
93
  bId = bId.bId;
91
94
  }
92
- if (args === undefined)
93
- return [];
94
95
  const arr = [];
95
96
  const fields = Block.getFieldsByBlockId(bId);
97
+ if (args === undefined) {
98
+ if (fields.length > 0)
99
+ throw Error(`Missing arguments: ${(0, Misc_js_1.map)(fields, v => v.Name).join(", ")}.`);
100
+ return [];
101
+ }
96
102
  for (let i = 0, len = fields.length; i < len; i++) {
97
103
  const f = fields[i];
98
104
  const val = args[f.Name];
@@ -104,6 +110,60 @@ class Block {
104
110
  }
105
111
  return arr;
106
112
  }
113
+ static validateArgs(bId, args) {
114
+ var _a;
115
+ if (bId instanceof Block) {
116
+ args !== null && args !== void 0 ? args : (args = bId.args);
117
+ bId = bId.bId;
118
+ }
119
+ const obj = { keys: [], values: [] };
120
+ const fields = Block.getFieldsByBlockId(bId);
121
+ if (args === undefined) {
122
+ if (fields.length > 0)
123
+ throw Error(`Missing arguments: ${(0, Misc_js_1.map)(fields, v => v.Name).join(", ")}.`);
124
+ return obj;
125
+ }
126
+ const argNames = Object.keys(args);
127
+ for (let i = 0, len = fields.length; i < len; i++) {
128
+ const f = fields[i];
129
+ const val = args[f.Name];
130
+ if (f.Required === true && val === undefined)
131
+ throw Error(`Missing required argument: ${f.Name} (Type: ${f.Type})`);
132
+ ;
133
+ // else if (f.Required === false && args[f.Name] === undefined) arr.push(undefined);
134
+ if (val !== undefined)
135
+ switch (f.Type) {
136
+ case "String":
137
+ if (typeof val !== "string")
138
+ throw new Error_js_1.LegacyIncorrectArgError(`Argument '${f.Name}' is not of correct type (${f.Type})`, bId, val);
139
+ break;
140
+ case "Int32":
141
+ case "UInt32":
142
+ if (typeof val !== "number")
143
+ throw new Error_js_1.LegacyIncorrectArgError(`Argument '${f.Name}' is not of correct type (${f.Type})`, bId, val);
144
+ if ((_a = f.ExcludedValues) === null || _a === void 0 ? void 0 : _a.includes(val))
145
+ throw new Error_js_1.LegacyIncorrectArgError(`Argument '${f.Name}' value is in the excluded values`, bId, val);
146
+ if (f.MinValue > val)
147
+ throw new Error_js_1.LegacyIncorrectArgError(`Argument '${f.Name}' value lower than the minimum value (${f.MinValue})`, bId, val);
148
+ if (f.MaxValue < val)
149
+ throw new Error_js_1.LegacyIncorrectArgError(`Argument '${f.Name}' value lower than the maximum value (${f.MaxValue})`, bId, val);
150
+ break;
151
+ case "Boolean":
152
+ if (typeof val !== "boolean")
153
+ throw new Error_js_1.LegacyIncorrectArgError(`Argument '${f.Name}' is not of correct type (${f.Type})`, bId, val);
154
+ break;
155
+ }
156
+ for (let j = 0; j < argNames.length; j++) {
157
+ if (argNames[j] === f.Name) {
158
+ obj.keys.push(f.Name);
159
+ obj.values.push(val);
160
+ argNames.splice(j, 1);
161
+ break;
162
+ }
163
+ }
164
+ }
165
+ return obj;
166
+ }
107
167
  /**
108
168
  * This is sort of for internal use,
109
169
  * this will convert the packet form of fields
@@ -140,11 +200,13 @@ class Block {
140
200
  else
141
201
  layer = y !== null && y !== void 0 ? y : 0;
142
202
  return {
143
- isFillOperation: false,
144
- blockId: this.bId,
145
- layer,
146
- positions: pos,
147
- fields: Block.getArgsAsFields(this),
203
+ type: "worldBlockPlacedPacket",
204
+ packet: {
205
+ blockId: this.bId,
206
+ layer,
207
+ positions: pos,
208
+ fields: Block.getArgsAsFields(this),
209
+ }
148
210
  // extraFields: Block.serializeArgs(this.bId, this.args, { endian: "big", writeId: false, readTypeByte: true })
149
211
  };
150
212
  }
@@ -214,8 +276,6 @@ class Block {
214
276
  static getFieldsByBlockId(blockId) {
215
277
  var _a, _b;
216
278
  return (_b = (_a = pw_js_api_1.PWApiClient.listBlocks) === null || _a === void 0 ? void 0 : _a[blockId].Fields) !== null && _b !== void 0 ? _b : [];
217
- // const block = PWApiClient.listBlocks?.[blockId];
218
- // return block ? MissingBlockData[block?.PaletteId.toUpperCase()] ?? (block.BlockDataArgs) as ComponentTypeHeader[] ?? [] : [];
219
279
  }
220
280
  /**
221
281
  * Returns the block fields for that block by given palette ID (full upper case).
@@ -229,13 +289,7 @@ class Block {
229
289
  static getFieldsByPaletteId(paletteId) {
230
290
  var _a, _b;
231
291
  return (_b = (_a = pw_js_api_1.PWApiClient.listBlocksObj) === null || _a === void 0 ? void 0 : _a[paletteId].Fields) !== null && _b !== void 0 ? _b : [];
232
- //MissingBlockData[paletteId] ?? (PWApiClient.listBlocksObj?.[paletteId].BlockDataArgs) as ComponentTypeHeader[] ?? []
233
292
  }
234
293
  }
235
294
  exports.default = Block;
236
- // Temporary fix as some blocks currently have incorrect args
237
- // const MissingBlockData = {
238
- // SWITCH_LOCAL_ACTIVATOR: [ComponentTypeHeader.Int32, ComponentTypeHeader.Byte],
239
- // SWITCH_GLOBAL_ACTIVATOR: [ComponentTypeHeader.Int32, ComponentTypeHeader.Byte],
240
- // } as Record<string, ComponentTypeHeader[]>;
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvQmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSx5Q0FBa0c7QUFDbEcsOENBQTBHO0FBQzFHLDRDQUF3RTtBQUV4RSxNQUFxQixLQUFLO0lBaUJ0Qjs7O09BR0c7SUFDSCxZQUFZLEdBQWdDLEVBQUUsSUFBNEM7UUFuQjFGOzs7O1dBSUc7UUFDSCxTQUFJLEdBQTZCLEVBQUUsQ0FBQztRQWVoQyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVE7WUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQzthQUN2QyxDQUFDO1lBQ0YsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFFRCxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsaUJBQWlCO1lBQ2pCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN0QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUVsRCxnREFBZ0Q7Z0JBRWhELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsTUFBTTtvQkFBRSxNQUFNLElBQUksc0NBQTJCLENBQUMsNkRBQTZELEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFOUssS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUNoRCxvQ0FBb0M7b0JBQ3BDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDeEIsTUFBTSxHQUFHLEdBQUcs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
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvQmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSx5Q0FBcUg7QUFDckgsOENBQTBHO0FBQzFHLDRDQUE2RTtBQUU3RSxNQUFxQixLQUFLO0lBaUJ0Qjs7O09BR0c7SUFDSCxZQUFZLEdBQWdDLEVBQUUsSUFBNEM7UUFuQjFGOzs7O1dBSUc7UUFDSCxTQUFJLEdBQTZCLEVBQUUsQ0FBQztRQWVoQyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVE7WUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQzthQUN2QyxDQUFDO1lBQ0YsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFFRCxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsaUJBQWlCO1lBQ2pCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN0QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUVsRCxnREFBZ0Q7Z0JBRWhELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsTUFBTTtvQkFBRSxNQUFNLElBQUksc0NBQTJCLENBQUMsNkRBQTZELEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFOUssS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUNoRCxvQ0FBb0M7b0JBQ3BDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDeEIsTUFBTSxHQUFHLEdBQUcs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
package/cm/Helper.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { type Hook } from "pw-js-api";
2
2
  import type { ProtoGen } from "pw-js-api";
3
3
  import Block from "./Block.js";
4
+ import Label from "./Label.js";
4
5
  import Player from "./Player.js";
5
6
  import { LayerType } from "./Constants.js";
6
7
  import type { Point, PWGameHook } from "./types/index.js";
@@ -15,6 +16,7 @@ export default class PWGameWorldHelper {
15
16
  * Arrays of blocks (by layer, x, y)
16
17
  */
17
18
  blocks: [Block[][], Block[][], Block[][]];
19
+ labels: Map<string, Label>;
18
20
  players: Map<number, Player>;
19
21
  globalSwitches: boolean[];
20
22
  private _meta?;
@@ -111,11 +113,11 @@ export default class PWGameWorldHelper {
111
113
  */
112
114
  getPlayers(): Player[];
113
115
  /**
114
- * This will return a DeserialisedStructure which will allow you to easily save to a file if you wish.
116
+ * This will return a DeserialisedStructure containing the blocks and labels. The structure can be saved to a file.
115
117
  *
116
118
  * 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.
117
119
  *
118
120
  * NOTE: endX and endY are also included!
119
121
  */
120
- sectionBlocks(startX: number, startY: number, endX: number, endY: number): DeserialisedStructure;
122
+ sectionArea(startX: number, startY: number, endX: number, endY: number): DeserialisedStructure;
121
123
  }