pw-js-world 0.1.5-dev.5ce0683 → 0.2.1-dev.ee2fd11

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/Util.d.ts DELETED
@@ -1,23 +0,0 @@
1
- import { BlockNames } from "pw-js-api";
2
- import type { BlockKeys } from "./types/excluded";
3
- import type { LayerType } from "./Constants";
4
- import type { BlockArg, Point, SendableBlockPacket } from "./types";
5
- import Block from "./Block";
6
- export declare function uint8ArrayEquals(a: Uint8Array, b: Uint8Array): boolean;
7
- export declare function map<T, U>(arr: Array<T> | Map<any, T>, cb: (value: T, index: number, obj: T[]) => U): U[];
8
- export declare function find<T>(arr: Array<T> | Map<any, T>, pred: (value: T, index: number, obj: T[]) => boolean): T | undefined;
9
- export declare function findIndex<T>(arr: Array<T> | Map<any, T>, pred: (value: T, index: number, obj: T[]) => boolean): number;
10
- /**
11
- * For now this is slightly limited, but this will ONLY create a sendable packet which you must then send it yourself.
12
- */
13
- export declare function createBlockPacket(blockId: number | BlockNames | BlockKeys, layer: LayerType, pos: Point | Point[], ...args: BlockArg[]): SendableBlockPacket;
14
- export declare function createBlockPacket(block: Block, layer: LayerType, pos: Point | Point[]): SendableBlockPacket;
15
- /**
16
- * Creates sendable packets from given blocks. Attempts to minimise packet count, so it's preferable
17
- * to use it over creating packets with createBlockPacket multiple times.
18
- */
19
- export declare function createBlockPackets(blocks: {
20
- block: Block;
21
- layer: LayerType;
22
- pos: Point;
23
- }[]): SendableBlockPacket[];
package/cm/Util.js DELETED
@@ -1,100 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.uint8ArrayEquals = uint8ArrayEquals;
4
- exports.map = map;
5
- exports.find = find;
6
- exports.findIndex = findIndex;
7
- exports.createBlockPacket = createBlockPacket;
8
- exports.createBlockPackets = createBlockPackets;
9
- const tslib_1 = require("tslib");
10
- const pw_js_api_1 = require("pw-js-api");
11
- const Block_1 = tslib_1.__importDefault(require("./Block"));
12
- function uint8ArrayEquals(a, b) {
13
- if (a === b) {
14
- return true;
15
- }
16
- if (a.byteLength !== b.byteLength) {
17
- return false;
18
- }
19
- for (let i = 0; i < a.byteLength; i++) {
20
- if (a[i] !== b[i]) {
21
- return false;
22
- }
23
- }
24
- return true;
25
- }
26
- function map(arr, cb) {
27
- const res = [];
28
- if (!Array.isArray(arr))
29
- arr = Array.from(arr.values());
30
- for (let i = 0, len = arr.length; i < len; i++) {
31
- res[i] = cb(arr[i], i, arr);
32
- // if (pred(arr[i], i, arr)) res.push(arr[i]);
33
- }
34
- return res;
35
- }
36
- function find(arr, pred) {
37
- if (!Array.isArray(arr))
38
- arr = Array.from(arr.values());
39
- for (let i = 0, len = arr.length; i < len; i++) {
40
- if (pred(arr[i], i, arr))
41
- return arr[i];
42
- }
43
- return undefined;
44
- }
45
- function findIndex(arr, pred) {
46
- if (!Array.isArray(arr))
47
- arr = Array.from(arr.values());
48
- for (let i = 0, len = arr.length; i < len; i++) {
49
- if (pred(arr[i], i, arr))
50
- return i;
51
- }
52
- return -1;
53
- }
54
- function createBlockPacket(blockId, layer, pos, ...args) {
55
- if (blockId instanceof Block_1.default) {
56
- args = blockId.args;
57
- blockId = blockId.bId;
58
- }
59
- else if (typeof blockId !== "number")
60
- blockId = pw_js_api_1.BlockNames[blockId];
61
- if (blockId === undefined)
62
- throw Error("Unknown block ID");
63
- if (layer === undefined || layer < 0 || layer > 1)
64
- throw Error("Unknown layer type");
65
- if (!Array.isArray(pos))
66
- pos = [pos];
67
- return {
68
- isFillOperation: false,
69
- blockId,
70
- layer,
71
- positions: pos,
72
- extraFields: Block_1.default.serializeArgs(blockId, args, { endian: "big", writeId: false, readTypeByte: true })
73
- };
74
- }
75
- /**
76
- * Creates sendable packets from given blocks. Attempts to minimise packet count, so it's preferable
77
- * to use it over creating packets with createBlockPacket multiple times.
78
- */
79
- function createBlockPackets(blocks) {
80
- // Exact max packet position size is unknown, but it was noticed, it works correctly with this size
81
- const MAX_WORLD_BLOCK_PLACED_PACKET_POSITION_SIZE = 200;
82
- const list = [];
83
- for (let i = 0, len = blocks.length; i < len; i++) {
84
- const block = blocks[i];
85
- const packet = createBlockPacket(block.block, block.layer, block.pos);
86
- const existingPacket = find(list, pack => pack.blockId === block.block.bId &&
87
- pack.layer === block.layer &&
88
- pack.positions.length < MAX_WORLD_BLOCK_PLACED_PACKET_POSITION_SIZE &&
89
- uint8ArrayEquals(pack.extraFields, packet.extraFields));
90
- if (existingPacket) {
91
- if (findIndex(existingPacket.positions, pos => block.pos.x === pos.x && block.pos.y === pos.y) === -1) {
92
- existingPacket.positions.push(block.pos);
93
- }
94
- }
95
- else
96
- list.push(packet);
97
- }
98
- return list;
99
- }
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9VdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBTUEsNENBZ0JDO0FBRUQsa0JBV0M7QUFFRCxvQkFPQztBQUVELDhCQU9DO0FBT0QsOENBbUJDO0FBTUQsZ0RBeUJDOztBQTlHRCx5Q0FBdUM7QUFJdkMsNERBQTRCO0FBRTVCLFNBQWdCLGdCQUFnQixDQUFDLENBQWEsRUFBRSxDQUFhO0lBQ3pELElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ1YsT0FBTyxJQUFJLENBQUE7SUFDZixDQUFDO0lBRUQsSUFBSSxDQUFDLENBQUMsVUFBVSxLQUFLLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQyxPQUFPLEtBQUssQ0FBQTtJQUNoQixDQUFDO0lBRUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNoQixPQUFPLEtBQUssQ0FBQTtRQUNoQixDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFBO0FBQ2YsQ0FBQztBQUVELFNBQWdCLEdBQUcsQ0FBTyxHQUEyQixFQUFFLEVBQTRDO0lBQy9GLE1BQU0sR0FBRyxHQUFPLEVBQUUsQ0FBQztJQUVuQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFBRSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUV4RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFD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
package/cm/index.d.ts DELETED
@@ -1,8 +0,0 @@
1
- export type * from "./types/index.d.ts";
2
- export { default as PWGameWorldHelper } from "./Helper.js";
3
- export { ComponentTypeHeader, default as BufferReader } from "./BufferReader.js";
4
- export { default as Block, BlockArgsHeadings } from "./Block.js";
5
- export { default as Player, PlayerEffect, type IPlayer, type IPlayerEffect, type IPlayerRights, type IPlayerWorldState } from "./Player.js";
6
- export { createBlockPacket, createBlockPackets } from "./Util.js";
7
- export * from "./Constants.js";
8
- export * as Constants from "./Constants.js";
package/cm/index.js DELETED
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Constants = exports.createBlockPackets = exports.createBlockPacket = exports.PlayerEffect = exports.Player = exports.BlockArgsHeadings = exports.Block = exports.BufferReader = exports.ComponentTypeHeader = exports.PWGameWorldHelper = void 0;
4
- const tslib_1 = require("tslib");
5
- var Helper_js_1 = require("./Helper.js");
6
- Object.defineProperty(exports, "PWGameWorldHelper", { enumerable: true, get: function () { return tslib_1.__importDefault(Helper_js_1).default; } });
7
- var BufferReader_js_1 = require("./BufferReader.js");
8
- Object.defineProperty(exports, "ComponentTypeHeader", { enumerable: true, get: function () { return BufferReader_js_1.ComponentTypeHeader; } });
9
- Object.defineProperty(exports, "BufferReader", { enumerable: true, get: function () { return tslib_1.__importDefault(BufferReader_js_1).default; } });
10
- var Block_js_1 = require("./Block.js");
11
- Object.defineProperty(exports, "Block", { enumerable: true, get: function () { return tslib_1.__importDefault(Block_js_1).default; } });
12
- Object.defineProperty(exports, "BlockArgsHeadings", { enumerable: true, get: function () { return Block_js_1.BlockArgsHeadings; } });
13
- var Player_js_1 = require("./Player.js");
14
- Object.defineProperty(exports, "Player", { enumerable: true, get: function () { return tslib_1.__importDefault(Player_js_1).default; } });
15
- Object.defineProperty(exports, "PlayerEffect", { enumerable: true, get: function () { return Player_js_1.PlayerEffect; } });
16
- var Util_js_1 = require("./Util.js");
17
- Object.defineProperty(exports, "createBlockPacket", { enumerable: true, get: function () { return Util_js_1.createBlockPacket; } });
18
- Object.defineProperty(exports, "createBlockPackets", { enumerable: true, get: function () { return Util_js_1.createBlockPackets; } });
19
- tslib_1.__exportStar(require("./Constants.js"), exports);
20
- exports.Constants = tslib_1.__importStar(require("./Constants.js"));
21
- // import * from "./Helper";
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLHlDQUEyRDtBQUFsRCx1SUFBQSxPQUFPLE9BQXFCO0FBRXJDLHFEQUFpRjtBQUF4RSxzSEFBQSxtQkFBbUIsT0FBQTtBQUFFLHdJQUFBLE9BQU8sT0FBZ0I7QUFFckQsdUNBQWlFO0FBQXhELDBIQUFBLE9BQU8sT0FBUztBQUFFLDZHQUFBLGlCQUFpQixPQUFBO0FBRTVDLHlDQUE0STtBQUFuSSw0SEFBQSxPQUFPLE9BQVU7QUFBRSx5R0FBQSxZQUFZLE9BQUE7QUFFeEMscUNBQWtFO0FBQXpELDRHQUFBLGlCQUFpQixPQUFBO0FBQUUsNkdBQUEsa0JBQWtCLE9BQUE7QUFFOUMseURBQStCO0FBQy9CLG9FQUE0QztBQUU1Qyw0QkFBNEIifQ==