@jsprismarine/protocol 0.4.4-unstable-20240416230047
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/CHANGELOG.md +9 -0
- package/LICENSE +373 -0
- package/README.md +1 -0
- package/dist/NetworkBinaryStream.cjs.js +62 -0
- package/dist/NetworkBinaryStream.d.ts +41 -0
- package/dist/NetworkBinaryStream.d.ts.map +1 -0
- package/dist/NetworkBinaryStream.es.js +54 -0
- package/dist/NetworkPacket.cjs.js +67 -0
- package/dist/NetworkPacket.d.ts +52 -0
- package/dist/NetworkPacket.d.ts.map +1 -0
- package/dist/NetworkPacket.es.js +63 -0
- package/dist/NetworkStructure.cjs.js +21 -0
- package/dist/NetworkStructure.d.ts +28 -0
- package/dist/NetworkStructure.d.ts.map +1 -0
- package/dist/NetworkStructure.es.js +17 -0
- package/dist/PacketIdentifier.cjs.js +32 -0
- package/dist/PacketIdentifier.d.ts +29 -0
- package/dist/PacketIdentifier.d.ts.map +1 -0
- package/dist/PacketIdentifier.es.js +28 -0
- package/dist/index-CBOzHDCh.js +41 -0
- package/dist/index-C_fFd6lC.cjs +43 -0
- package/dist/index.cjs.js +55 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.es.js +26 -0
- package/dist/structure/ActorLink.cjs.js +33 -0
- package/dist/structure/ActorLink.d.ts +17 -0
- package/dist/structure/ActorLink.d.ts.map +1 -0
- package/dist/structure/ActorLink.es.js +29 -0
- package/dist/structure/BlockPos.cjs.js +31 -0
- package/dist/structure/BlockPos.d.ts +20 -0
- package/dist/structure/BlockPos.d.ts.map +1 -0
- package/dist/structure/BlockPos.es.js +27 -0
- package/dist/structure/ChunkPos.cjs.js +24 -0
- package/dist/structure/ChunkPos.d.ts +14 -0
- package/dist/structure/ChunkPos.d.ts.map +1 -0
- package/dist/structure/ChunkPos.es.js +20 -0
- package/dist/structure/DataItem.cjs.js +94 -0
- package/dist/structure/DataItem.d.ts +19 -0
- package/dist/structure/DataItem.d.ts.map +1 -0
- package/dist/structure/DataItem.es.js +90 -0
- package/dist/structure/Experiments.cjs.js +27 -0
- package/dist/structure/Experiments.d.ts +14 -0
- package/dist/structure/Experiments.d.ts.map +1 -0
- package/dist/structure/Experiments.es.js +23 -0
- package/dist/structure/ItemData.cjs.js +27 -0
- package/dist/structure/ItemData.d.ts +15 -0
- package/dist/structure/ItemData.d.ts.map +1 -0
- package/dist/structure/ItemData.es.js +23 -0
- package/dist/structure/ItemInstanceUserData.cjs.js +59 -0
- package/dist/structure/ItemInstanceUserData.d.ts +32 -0
- package/dist/structure/ItemInstanceUserData.d.ts.map +1 -0
- package/dist/structure/ItemInstanceUserData.es.js +55 -0
- package/dist/structure/LevelSettings.cjs.js +178 -0
- package/dist/structure/LevelSettings.d.ts +122 -0
- package/dist/structure/LevelSettings.d.ts.map +1 -0
- package/dist/structure/LevelSettings.es.js +170 -0
- package/dist/structure/NetworkItemStackDescriptor.cjs.js +47 -0
- package/dist/structure/NetworkItemStackDescriptor.d.ts +25 -0
- package/dist/structure/NetworkItemStackDescriptor.d.ts.map +1 -0
- package/dist/structure/NetworkItemStackDescriptor.es.js +43 -0
- package/dist/structure/PropertySyncData.cjs.js +31 -0
- package/dist/structure/PropertySyncData.d.ts +19 -0
- package/dist/structure/PropertySyncData.d.ts.map +1 -0
- package/dist/structure/PropertySyncData.es.js +27 -0
- package/dist/structure/SerializedAbilitiesData.cjs.js +39 -0
- package/dist/structure/SerializedAbilitiesData.d.ts +14 -0
- package/dist/structure/SerializedAbilitiesData.d.ts.map +1 -0
- package/dist/structure/SerializedAbilitiesData.es.js +35 -0
- package/dist/structure/SerializedAbilityLayer.cjs.js +33 -0
- package/dist/structure/SerializedAbilityLayer.d.ts +17 -0
- package/dist/structure/SerializedAbilityLayer.d.ts.map +1 -0
- package/dist/structure/SerializedAbilityLayer.es.js +29 -0
- package/dist/structure/SpawnSettings.cjs.js +25 -0
- package/dist/structure/SpawnSettings.d.ts +16 -0
- package/dist/structure/SpawnSettings.d.ts.map +1 -0
- package/dist/structure/SpawnSettings.es.js +21 -0
- package/dist/structure/SyncedPlayerMovementSettings.cjs.js +27 -0
- package/dist/structure/SyncedPlayerMovementSettings.d.ts +16 -0
- package/dist/structure/SyncedPlayerMovementSettings.d.ts.map +1 -0
- package/dist/structure/SyncedPlayerMovementSettings.es.js +23 -0
- package/dist/structure/UUID.cjs.js +24 -0
- package/dist/structure/UUID.d.ts +10 -0
- package/dist/structure/UUID.d.ts.map +1 -0
- package/dist/structure/UUID.es.js +20 -0
- package/dist/structure/Vec2.cjs.js +37 -0
- package/dist/structure/Vec2.d.ts +28 -0
- package/dist/structure/Vec2.d.ts.map +1 -0
- package/dist/structure/Vec2.es.js +33 -0
- package/dist/structure/Vec3.cjs.js +40 -0
- package/dist/structure/Vec3.d.ts +28 -0
- package/dist/structure/Vec3.d.ts.map +1 -0
- package/dist/structure/Vec3.es.js +36 -0
- package/dist/structure/index.cjs.js +45 -0
- package/dist/structure/index.d.ts +20 -0
- package/dist/structure/index.d.ts.map +1 -0
- package/dist/structure/index.es.js +21 -0
- package/package.json +56 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
4
|
+
|
|
5
|
+
const structure_Vec3 = require('./Vec3.cjs.js');
|
|
6
|
+
require('./Vec2.cjs.js');
|
|
7
|
+
require('../NetworkStructure.cjs.js');
|
|
8
|
+
|
|
9
|
+
class BlockPos extends structure_Vec3.default {
|
|
10
|
+
/**
|
|
11
|
+
* Serializes the block position to a binary stream.
|
|
12
|
+
* @param stream - The binary stream to write to.
|
|
13
|
+
*/
|
|
14
|
+
serialize(stream) {
|
|
15
|
+
stream.writeVarInt(this.x);
|
|
16
|
+
stream.writeVarInt(this.y);
|
|
17
|
+
stream.writeVarInt(this.z);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Deserializes the block position from a binary stream.
|
|
21
|
+
* @param stream - The binary stream to read from.
|
|
22
|
+
*/
|
|
23
|
+
deserialize(stream) {
|
|
24
|
+
this.x = stream.readVarInt();
|
|
25
|
+
this.y = stream.readVarInt();
|
|
26
|
+
this.z = stream.readVarInt();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
exports.default = BlockPos;
|
|
31
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2tQb3MuY2pzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RydWN0dXJlL0Jsb2NrUG9zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlYzMgfSBmcm9tICcuLi8nO1xuaW1wb3J0IHR5cGUgQmluYXJ5U3RyZWFtIGZyb20gJ0Bqc3ByaXNtYXJpbmUvanNiaW5hcnl1dGlscyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgbmV0d29yayBzdHJ1Y3R1cmUgb2YgYSBibG9jayBwb3NpdGlvbi5cbiAqIHtAbGluayBodHRwczovL21vamFuZy5naXRodWIuaW8vYmVkcm9jay1wcm90b2NvbC1kb2NzL2h0bWwvQmxvY2tQb3MuaHRtbH1cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmxvY2tQb3MgZXh0ZW5kcyBWZWMzIHtcbiAgICAvKipcbiAgICAgKiBTZXJpYWxpemVzIHRoZSBibG9jayBwb3NpdGlvbiB0byBhIGJpbmFyeSBzdHJlYW0uXG4gICAgICogQHBhcmFtIHN0cmVhbSAtIFRoZSBiaW5hcnkgc3RyZWFtIHRvIHdyaXRlIHRvLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXJpYWxpemUoc3RyZWFtOiBCaW5hcnlTdHJlYW0pOiB2b2lkIHtcbiAgICAgICAgc3RyZWFtLndyaXRlVmFySW50KHRoaXMueCk7XG4gICAgICAgIHN0cmVhbS53cml0ZVZhckludCh0aGlzLnkpO1xuICAgICAgICBzdHJlYW0ud3JpdGVWYXJJbnQodGhpcy56KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXNlcmlhbGl6ZXMgdGhlIGJsb2NrIHBvc2l0aW9uIGZyb20gYSBiaW5hcnkgc3RyZWFtLlxuICAgICAqIEBwYXJhbSBzdHJlYW0gLSBUaGUgYmluYXJ5IHN0cmVhbSB0byByZWFkIGZyb20uXG4gICAgICovXG4gICAgcHVibGljIGRlc2VyaWFsaXplKHN0cmVhbTogQmluYXJ5U3RyZWFtKTogdm9pZCB7XG4gICAgICAgIHRoaXMueCA9IHN0cmVhbS5yZWFkVmFySW50KCk7XG4gICAgICAgIHRoaXMueSA9IHN0cmVhbS5yZWFkVmFySW50KCk7XG4gICAgICAgIHRoaXMueiA9IHN0cmVhbS5yZWFkVmFySW50KCk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIlZlYzMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBT0EsTUFBcUIsaUJBQWlCQSxzQkFBSyxDQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtoQyxVQUFVLE1BQTRCLEVBQUE7QUFDekMsSUFBTyxNQUFBLENBQUEsV0FBQSxDQUFZLEtBQUssQ0FBQyxDQUFBLENBQUE7QUFDekIsSUFBTyxNQUFBLENBQUEsV0FBQSxDQUFZLEtBQUssQ0FBQyxDQUFBLENBQUE7QUFDekIsSUFBTyxNQUFBLENBQUEsV0FBQSxDQUFZLEtBQUssQ0FBQyxDQUFBLENBQUE7QUFBQSxHQUM3QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxZQUFZLE1BQTRCLEVBQUE7QUFDM0MsSUFBSyxJQUFBLENBQUEsQ0FBQSxHQUFJLE9BQU8sVUFBVyxFQUFBLENBQUE7QUFDM0IsSUFBSyxJQUFBLENBQUEsQ0FBQSxHQUFJLE9BQU8sVUFBVyxFQUFBLENBQUE7QUFDM0IsSUFBSyxJQUFBLENBQUEsQ0FBQSxHQUFJLE9BQU8sVUFBVyxFQUFBLENBQUE7QUFBQSxHQUMvQjtBQUNKOzs7OyJ9
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { default as BinaryStream } from '@jsprismarine/jsbinaryutils';
|
|
2
|
+
import { Vec3 } from '../';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Represents the network structure of a block position.
|
|
6
|
+
* {@link https://mojang.github.io/bedrock-protocol-docs/html/BlockPos.html}
|
|
7
|
+
*/
|
|
8
|
+
export default class BlockPos extends Vec3 {
|
|
9
|
+
/**
|
|
10
|
+
* Serializes the block position to a binary stream.
|
|
11
|
+
* @param stream - The binary stream to write to.
|
|
12
|
+
*/
|
|
13
|
+
serialize(stream: BinaryStream): void;
|
|
14
|
+
/**
|
|
15
|
+
* Deserializes the block position from a binary stream.
|
|
16
|
+
* @param stream - The binary stream to read from.
|
|
17
|
+
*/
|
|
18
|
+
deserialize(stream: BinaryStream): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=BlockPos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockPos.d.ts","sourceRoot":"","sources":["../../src/structure/BlockPos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAC;AAE5D;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,IAAI;IACtC;;;OAGG;IACI,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAM5C;;;OAGG;IACI,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;CAKjD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import Vec3 from './Vec3.es.js';
|
|
2
|
+
import './Vec2.es.js';
|
|
3
|
+
import '../NetworkStructure.es.js';
|
|
4
|
+
|
|
5
|
+
class BlockPos extends Vec3 {
|
|
6
|
+
/**
|
|
7
|
+
* Serializes the block position to a binary stream.
|
|
8
|
+
* @param stream - The binary stream to write to.
|
|
9
|
+
*/
|
|
10
|
+
serialize(stream) {
|
|
11
|
+
stream.writeVarInt(this.x);
|
|
12
|
+
stream.writeVarInt(this.y);
|
|
13
|
+
stream.writeVarInt(this.z);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Deserializes the block position from a binary stream.
|
|
17
|
+
* @param stream - The binary stream to read from.
|
|
18
|
+
*/
|
|
19
|
+
deserialize(stream) {
|
|
20
|
+
this.x = stream.readVarInt();
|
|
21
|
+
this.y = stream.readVarInt();
|
|
22
|
+
this.z = stream.readVarInt();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { BlockPos as default };
|
|
27
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2tQb3MuZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJ1Y3R1cmUvQmxvY2tQb3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVjMyB9IGZyb20gJy4uLyc7XG5pbXBvcnQgdHlwZSBCaW5hcnlTdHJlYW0gZnJvbSAnQGpzcHJpc21hcmluZS9qc2JpbmFyeXV0aWxzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBuZXR3b3JrIHN0cnVjdHVyZSBvZiBhIGJsb2NrIHBvc2l0aW9uLlxuICoge0BsaW5rIGh0dHBzOi8vbW9qYW5nLmdpdGh1Yi5pby9iZWRyb2NrLXByb3RvY29sLWRvY3MvaHRtbC9CbG9ja1Bvcy5odG1sfVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCbG9ja1BvcyBleHRlbmRzIFZlYzMge1xuICAgIC8qKlxuICAgICAqIFNlcmlhbGl6ZXMgdGhlIGJsb2NrIHBvc2l0aW9uIHRvIGEgYmluYXJ5IHN0cmVhbS5cbiAgICAgKiBAcGFyYW0gc3RyZWFtIC0gVGhlIGJpbmFyeSBzdHJlYW0gdG8gd3JpdGUgdG8uXG4gICAgICovXG4gICAgcHVibGljIHNlcmlhbGl6ZShzdHJlYW06IEJpbmFyeVN0cmVhbSk6IHZvaWQge1xuICAgICAgICBzdHJlYW0ud3JpdGVWYXJJbnQodGhpcy54KTtcbiAgICAgICAgc3RyZWFtLndyaXRlVmFySW50KHRoaXMueSk7XG4gICAgICAgIHN0cmVhbS53cml0ZVZhckludCh0aGlzLnopO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlc2VyaWFsaXplcyB0aGUgYmxvY2sgcG9zaXRpb24gZnJvbSBhIGJpbmFyeSBzdHJlYW0uXG4gICAgICogQHBhcmFtIHN0cmVhbSAtIFRoZSBiaW5hcnkgc3RyZWFtIHRvIHJlYWQgZnJvbS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVzZXJpYWxpemUoc3RyZWFtOiBCaW5hcnlTdHJlYW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy54ID0gc3RyZWFtLnJlYWRWYXJJbnQoKTtcbiAgICAgICAgdGhpcy55ID0gc3RyZWFtLnJlYWRWYXJJbnQoKTtcbiAgICAgICAgdGhpcy56ID0gc3RyZWFtLnJlYWRWYXJJbnQoKTtcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQU9BLE1BQXFCLGlCQUFpQixJQUFLLENBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS2hDLFVBQVUsTUFBNEIsRUFBQTtBQUN6QyxJQUFPLE1BQUEsQ0FBQSxXQUFBLENBQVksS0FBSyxDQUFDLENBQUEsQ0FBQTtBQUN6QixJQUFPLE1BQUEsQ0FBQSxXQUFBLENBQVksS0FBSyxDQUFDLENBQUEsQ0FBQTtBQUN6QixJQUFPLE1BQUEsQ0FBQSxXQUFBLENBQVksS0FBSyxDQUFDLENBQUEsQ0FBQTtBQUFBLEdBQzdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLFlBQVksTUFBNEIsRUFBQTtBQUMzQyxJQUFLLElBQUEsQ0FBQSxDQUFBLEdBQUksT0FBTyxVQUFXLEVBQUEsQ0FBQTtBQUMzQixJQUFLLElBQUEsQ0FBQSxDQUFBLEdBQUksT0FBTyxVQUFXLEVBQUEsQ0FBQTtBQUMzQixJQUFLLElBQUEsQ0FBQSxDQUFBLEdBQUksT0FBTyxVQUFXLEVBQUEsQ0FBQTtBQUFBLEdBQy9CO0FBQ0o7Ozs7In0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const NetworkStructure = require('../NetworkStructure.cjs.js');
|
|
6
|
+
|
|
7
|
+
class ChunkPos extends NetworkStructure.default {
|
|
8
|
+
constructor(cx, cz) {
|
|
9
|
+
super();
|
|
10
|
+
this.cx = cx;
|
|
11
|
+
this.cz = cz;
|
|
12
|
+
}
|
|
13
|
+
serialize(stream) {
|
|
14
|
+
stream.writeVarInt(this.cx);
|
|
15
|
+
stream.writeVarInt(this.cz);
|
|
16
|
+
}
|
|
17
|
+
deserialize(stream) {
|
|
18
|
+
this.cx = stream.readVarInt();
|
|
19
|
+
this.cz = stream.readVarInt();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
exports.ChunkPos = ChunkPos;
|
|
24
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2h1bmtQb3MuY2pzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RydWN0dXJlL0NodW5rUG9zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTmV0d29ya0JpbmFyeVN0cmVhbSB9IGZyb20gJy4uLyc7XG5pbXBvcnQgeyBOZXR3b3JrU3RydWN0dXJlIH0gZnJvbSAnLi4vJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBuZXR3b3JrIHN0cnVjdHVyZSBvZiBhIGNodW5rIHBvc2l0aW9uLlxuICoge0BsaW5rIGh0dHBzOi8vbW9qYW5nLmdpdGh1Yi5pby9iZWRyb2NrLXByb3RvY29sLWRvY3MvaHRtbC9DaHVua1Bvcy5odG1sfVxuICovXG5leHBvcnQgY2xhc3MgQ2h1bmtQb3MgZXh0ZW5kcyBOZXR3b3JrU3RydWN0dXJlIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBjeDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgY3o6IG51bWJlclxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXJpYWxpemUoc3RyZWFtOiBOZXR3b3JrQmluYXJ5U3RyZWFtKTogdm9pZCB7XG4gICAgICAgIHN0cmVhbS53cml0ZVZhckludCh0aGlzLmN4KTtcbiAgICAgICAgc3RyZWFtLndyaXRlVmFySW50KHRoaXMuY3opO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXNlcmlhbGl6ZShzdHJlYW06IE5ldHdvcmtCaW5hcnlTdHJlYW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jeCA9IHN0cmVhbS5yZWFkVmFySW50KCk7XG4gICAgICAgIHRoaXMuY3ogPSBzdHJlYW0ucmVhZFZhckludCgpO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJOZXR3b3JrU3RydWN0dXJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFPTyxNQUFNLGlCQUFpQkEsd0JBQWlCLENBQUE7QUFBQSxFQUNwQyxXQUFBLENBQ0ksSUFDQSxFQUNULEVBQUE7QUFDRSxJQUFNLEtBQUEsRUFBQSxDQUFBO0FBSEMsSUFBQSxJQUFBLENBQUEsRUFBQSxHQUFBLEVBQUEsQ0FBQTtBQUNBLElBQUEsSUFBQSxDQUFBLEVBQUEsR0FBQSxFQUFBLENBQUE7QUFBQSxHQUdYO0FBQUEsRUFFTyxVQUFVLE1BQW1DLEVBQUE7QUFDaEQsSUFBTyxNQUFBLENBQUEsV0FBQSxDQUFZLEtBQUssRUFBRSxDQUFBLENBQUE7QUFDMUIsSUFBTyxNQUFBLENBQUEsV0FBQSxDQUFZLEtBQUssRUFBRSxDQUFBLENBQUE7QUFBQSxHQUM5QjtBQUFBLEVBRU8sWUFBWSxNQUFtQyxFQUFBO0FBQ2xELElBQUssSUFBQSxDQUFBLEVBQUEsR0FBSyxPQUFPLFVBQVcsRUFBQSxDQUFBO0FBQzVCLElBQUssSUFBQSxDQUFBLEVBQUEsR0FBSyxPQUFPLFVBQVcsRUFBQSxDQUFBO0FBQUEsR0FDaEM7QUFDSjs7OzsifQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { NetworkBinaryStream, NetworkStructure } from '../';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Represents the network structure of a chunk position.
|
|
5
|
+
* {@link https://mojang.github.io/bedrock-protocol-docs/html/ChunkPos.html}
|
|
6
|
+
*/
|
|
7
|
+
export declare class ChunkPos extends NetworkStructure {
|
|
8
|
+
cx: number;
|
|
9
|
+
cz: number;
|
|
10
|
+
constructor(cx: number, cz: number);
|
|
11
|
+
serialize(stream: NetworkBinaryStream): void;
|
|
12
|
+
deserialize(stream: NetworkBinaryStream): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=ChunkPos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChunkPos.d.ts","sourceRoot":"","sources":["../../src/structure/ChunkPos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAEvC;;;GAGG;AACH,qBAAa,QAAS,SAAQ,gBAAgB;IAE/B,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,MAAM;gBADV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM;IAKd,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAK5C,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;CAIxD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import NetworkStructure from '../NetworkStructure.es.js';
|
|
2
|
+
|
|
3
|
+
class ChunkPos extends NetworkStructure {
|
|
4
|
+
constructor(cx, cz) {
|
|
5
|
+
super();
|
|
6
|
+
this.cx = cx;
|
|
7
|
+
this.cz = cz;
|
|
8
|
+
}
|
|
9
|
+
serialize(stream) {
|
|
10
|
+
stream.writeVarInt(this.cx);
|
|
11
|
+
stream.writeVarInt(this.cz);
|
|
12
|
+
}
|
|
13
|
+
deserialize(stream) {
|
|
14
|
+
this.cx = stream.readVarInt();
|
|
15
|
+
this.cz = stream.readVarInt();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { ChunkPos };
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2h1bmtQb3MuZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJ1Y3R1cmUvQ2h1bmtQb3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOZXR3b3JrQmluYXJ5U3RyZWFtIH0gZnJvbSAnLi4vJztcbmltcG9ydCB7IE5ldHdvcmtTdHJ1Y3R1cmUgfSBmcm9tICcuLi8nO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIG5ldHdvcmsgc3RydWN0dXJlIG9mIGEgY2h1bmsgcG9zaXRpb24uXG4gKiB7QGxpbmsgaHR0cHM6Ly9tb2phbmcuZ2l0aHViLmlvL2JlZHJvY2stcHJvdG9jb2wtZG9jcy9odG1sL0NodW5rUG9zLmh0bWx9XG4gKi9cbmV4cG9ydCBjbGFzcyBDaHVua1BvcyBleHRlbmRzIE5ldHdvcmtTdHJ1Y3R1cmUge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGN4OiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyBjejogbnVtYmVyXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlcmlhbGl6ZShzdHJlYW06IE5ldHdvcmtCaW5hcnlTdHJlYW0pOiB2b2lkIHtcbiAgICAgICAgc3RyZWFtLndyaXRlVmFySW50KHRoaXMuY3gpO1xuICAgICAgICBzdHJlYW0ud3JpdGVWYXJJbnQodGhpcy5jeik7XG4gICAgfVxuXG4gICAgcHVibGljIGRlc2VyaWFsaXplKHN0cmVhbTogTmV0d29ya0JpbmFyeVN0cmVhbSk6IHZvaWQge1xuICAgICAgICB0aGlzLmN4ID0gc3RyZWFtLnJlYWRWYXJJbnQoKTtcbiAgICAgICAgdGhpcy5jeiA9IHN0cmVhbS5yZWFkVmFySW50KCk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT08sTUFBTSxpQkFBaUIsZ0JBQWlCLENBQUE7QUFBQSxFQUNwQyxXQUFBLENBQ0ksSUFDQSxFQUNULEVBQUE7QUFDRSxJQUFNLEtBQUEsRUFBQSxDQUFBO0FBSEMsSUFBQSxJQUFBLENBQUEsRUFBQSxHQUFBLEVBQUEsQ0FBQTtBQUNBLElBQUEsSUFBQSxDQUFBLEVBQUEsR0FBQSxFQUFBLENBQUE7QUFBQSxHQUdYO0FBQUEsRUFFTyxVQUFVLE1BQW1DLEVBQUE7QUFDaEQsSUFBTyxNQUFBLENBQUEsV0FBQSxDQUFZLEtBQUssRUFBRSxDQUFBLENBQUE7QUFDMUIsSUFBTyxNQUFBLENBQUEsV0FBQSxDQUFZLEtBQUssRUFBRSxDQUFBLENBQUE7QUFBQSxHQUM5QjtBQUFBLEVBRU8sWUFBWSxNQUFtQyxFQUFBO0FBQ2xELElBQUssSUFBQSxDQUFBLEVBQUEsR0FBSyxPQUFPLFVBQVcsRUFBQSxDQUFBO0FBQzVCLElBQUssSUFBQSxDQUFBLEVBQUEsR0FBSyxPQUFPLFVBQVcsRUFBQSxDQUFBO0FBQUEsR0FDaEM7QUFDSjs7OzsifQ==
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const minecraft = require('@jsprismarine/minecraft');
|
|
6
|
+
const nbt = require('@jsprismarine/nbt');
|
|
7
|
+
const NetworkStructure = require('../NetworkStructure.cjs.js');
|
|
8
|
+
const structure_BlockPos = require('./BlockPos.cjs.js');
|
|
9
|
+
const structure_Vec3 = require('./Vec3.cjs.js');
|
|
10
|
+
require('./Vec2.cjs.js');
|
|
11
|
+
|
|
12
|
+
var ByteOrder = /* @__PURE__ */ ((ByteOrder2) => {
|
|
13
|
+
ByteOrder2[ByteOrder2["BIG_ENDIAN"] = 0] = "BIG_ENDIAN";
|
|
14
|
+
ByteOrder2[ByteOrder2["LITTLE_ENDIAN"] = 1] = "LITTLE_ENDIAN";
|
|
15
|
+
return ByteOrder2;
|
|
16
|
+
})(ByteOrder || {});
|
|
17
|
+
|
|
18
|
+
class DataItem extends NetworkStructure.default {
|
|
19
|
+
constructor(id, type, value) {
|
|
20
|
+
super();
|
|
21
|
+
this.id = id;
|
|
22
|
+
this.type = type;
|
|
23
|
+
this.value = value;
|
|
24
|
+
}
|
|
25
|
+
serialize(stream) {
|
|
26
|
+
stream.writeUnsignedVarInt(this.id);
|
|
27
|
+
stream.writeSignedByte(this.type);
|
|
28
|
+
switch (this.type) {
|
|
29
|
+
case minecraft.DataItemType.BYTE:
|
|
30
|
+
stream.writeByte(this.value);
|
|
31
|
+
break;
|
|
32
|
+
case minecraft.DataItemType.SHORT:
|
|
33
|
+
stream.writeShortLE(this.value);
|
|
34
|
+
break;
|
|
35
|
+
case minecraft.DataItemType.INT:
|
|
36
|
+
stream.writeVarInt(this.value);
|
|
37
|
+
break;
|
|
38
|
+
case minecraft.DataItemType.FLOAT:
|
|
39
|
+
stream.writeFloatLE(this.value);
|
|
40
|
+
break;
|
|
41
|
+
case minecraft.DataItemType.STRING:
|
|
42
|
+
stream.writeString(this.value);
|
|
43
|
+
break;
|
|
44
|
+
case minecraft.DataItemType.COMPOUND_TAG:
|
|
45
|
+
this.value.writeToStream(stream, ByteOrder.LITTLE_ENDIAN, true);
|
|
46
|
+
break;
|
|
47
|
+
case minecraft.DataItemType.POS:
|
|
48
|
+
this.value.serialize(stream);
|
|
49
|
+
break;
|
|
50
|
+
case minecraft.DataItemType.LONG:
|
|
51
|
+
stream.writeLongLE(this.value);
|
|
52
|
+
break;
|
|
53
|
+
case minecraft.DataItemType.VEC3:
|
|
54
|
+
this.value.serialize(stream);
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
deserialize(stream) {
|
|
59
|
+
this.id = stream.readUnsignedVarInt();
|
|
60
|
+
this.type = stream.readSignedByte();
|
|
61
|
+
switch (this.type) {
|
|
62
|
+
case minecraft.DataItemType.BYTE:
|
|
63
|
+
this.value = stream.readByte();
|
|
64
|
+
break;
|
|
65
|
+
case minecraft.DataItemType.SHORT:
|
|
66
|
+
this.value = stream.readShortLE();
|
|
67
|
+
break;
|
|
68
|
+
case minecraft.DataItemType.INT:
|
|
69
|
+
this.value = stream.readVarInt();
|
|
70
|
+
break;
|
|
71
|
+
case minecraft.DataItemType.FLOAT:
|
|
72
|
+
this.value = stream.readFloatLE();
|
|
73
|
+
break;
|
|
74
|
+
case minecraft.DataItemType.STRING:
|
|
75
|
+
this.value = stream.readString();
|
|
76
|
+
break;
|
|
77
|
+
case minecraft.DataItemType.COMPOUND_TAG:
|
|
78
|
+
this.value = nbt.NBTTagCompound.readFromStream(stream, ByteOrder.LITTLE_ENDIAN, true);
|
|
79
|
+
break;
|
|
80
|
+
case minecraft.DataItemType.POS:
|
|
81
|
+
this.value = structure_BlockPos.default.deserialize(stream);
|
|
82
|
+
break;
|
|
83
|
+
case minecraft.DataItemType.LONG:
|
|
84
|
+
this.value = stream.readLongLE();
|
|
85
|
+
break;
|
|
86
|
+
case minecraft.DataItemType.VEC3:
|
|
87
|
+
this.value = structure_Vec3.default.deserialize(stream);
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
exports.DataItem = DataItem;
|
|
94
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUl0ZW0uY2pzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9uYnQvc3JjL0J5dGVPcmRlci50cyIsIi4uLy4uL3NyYy9zdHJ1Y3R1cmUvRGF0YUl0ZW0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQnl0ZU9yZGVyIHtcbiAgICBCSUdfRU5ESUFOLFxuICAgIExJVFRMRV9FTkRJQU5cbn1cbiIsImltcG9ydCB7IERhdGFJdGVtVHlwZSB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvbWluZWNyYWZ0JztcbmltcG9ydCB7IE5CVFRhZ0NvbXBvdW5kIH0gZnJvbSAnQGpzcHJpc21hcmluZS9uYnQnO1xuaW1wb3J0IHsgQnl0ZU9yZGVyIH0gZnJvbSAnbm9kZV9tb2R1bGVzL0Bqc3ByaXNtYXJpbmUvbmJ0L3NyYy9CeXRlT3JkZXInO1xuaW1wb3J0IHR5cGUgeyBOZXR3b3JrQmluYXJ5U3RyZWFtIH0gZnJvbSAnLi4vJztcbmltcG9ydCB7IEJsb2NrUG9zLCBOZXR3b3JrU3RydWN0dXJlLCBWZWMzIH0gZnJvbSAnLi4vJztcblxudHlwZSBEYXRhSXRlbVZhbHVlID0gbnVtYmVyIHwgYmlnaW50IHwgc3RyaW5nIHwgTkJUVGFnQ29tcG91bmQgfCBCbG9ja1BvcyB8IFZlYzM7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgbmV0d29yayBzdHJ1Y3R1cmUgb2YgdGhlIGRhdGEgbGlua2VkIHRvIGEgZW50aXR5LlxuICoge0BsaW5rIGh0dHBzOi8vbW9qYW5nLmdpdGh1Yi5pby9iZWRyb2NrLXByb3RvY29sLWRvY3MvaHRtbC9EYXRhSXRlbS5odG1sfVxuICovXG5leHBvcnQgY2xhc3MgRGF0YUl0ZW0gZXh0ZW5kcyBOZXR3b3JrU3RydWN0dXJlIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaWQ6IG51bWJlcixcbiAgICAgICAgcHJpdmF0ZSB0eXBlOiBEYXRhSXRlbVR5cGUsXG4gICAgICAgIHByaXZhdGUgdmFsdWU6IERhdGFJdGVtVmFsdWVcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VyaWFsaXplKHN0cmVhbTogTmV0d29ya0JpbmFyeVN0cmVhbSk6IHZvaWQge1xuICAgICAgICBzdHJlYW0ud3JpdGVVbnNpZ25lZFZhckludCh0aGlzLmlkKTtcbiAgICAgICAgc3RyZWFtLndyaXRlU2lnbmVkQnl0ZSh0aGlzLnR5cGUpO1xuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBEYXRhSXRlbVR5cGUuQllURTpcbiAgICAgICAgICAgICAgICBzdHJlYW0ud3JpdGVCeXRlKHRoaXMudmFsdWUgYXMgbnVtYmVyKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0YUl0ZW1UeXBlLlNIT1JUOlxuICAgICAgICAgICAgICAgIHN0cmVhbS53cml0ZVNob3J0TEUodGhpcy52YWx1ZSBhcyBudW1iZXIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEYXRhSXRlbVR5cGUuSU5UOlxuICAgICAgICAgICAgICAgIHN0cmVhbS53cml0ZVZhckludCh0aGlzLnZhbHVlIGFzIG51bWJlcik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERhdGFJdGVtVHlwZS5GTE9BVDpcbiAgICAgICAgICAgICAgICBzdHJlYW0ud3JpdGVGbG9hdExFKHRoaXMudmFsdWUgYXMgbnVtYmVyKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0YUl0ZW1UeXBlLlNUUklORzpcbiAgICAgICAgICAgICAgICBzdHJlYW0ud3JpdGVTdHJpbmcodGhpcy52YWx1ZSBhcyBzdHJpbmcpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEYXRhSXRlbVR5cGUuQ09NUE9VTkRfVEFHOlxuICAgICAgICAgICAgICAgICh0aGlzLnZhbHVlIGFzIE5CVFRhZ0NvbXBvdW5kKS53cml0ZVRvU3RyZWFtKHN0cmVhbSwgQnl0ZU9yZGVyLkxJVFRMRV9FTkRJQU4sIHRydWUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEYXRhSXRlbVR5cGUuUE9TOlxuICAgICAgICAgICAgICAgICh0aGlzLnZhbHVlIGFzIEJsb2NrUG9zKS5zZXJpYWxpemUoc3RyZWFtKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0YUl0ZW1UeXBlLkxPTkc6XG4gICAgICAgICAgICAgICAgc3RyZWFtLndyaXRlTG9uZ0xFKHRoaXMudmFsdWUgYXMgYmlnaW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0YUl0ZW1UeXBlLlZFQzM6XG4gICAgICAgICAgICAgICAgKHRoaXMudmFsdWUgYXMgVmVjMykuc2VyaWFsaXplKHN0cmVhbSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzZXJpYWxpemUoc3RyZWFtOiBOZXR3b3JrQmluYXJ5U3RyZWFtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaWQgPSBzdHJlYW0ucmVhZFVuc2lnbmVkVmFySW50KCk7XG4gICAgICAgIHRoaXMudHlwZSA9IHN0cmVhbS5yZWFkU2lnbmVkQnl0ZSgpO1xuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBEYXRhSXRlbVR5cGUuQllURTpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gc3RyZWFtLnJlYWRCeXRlKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERhdGFJdGVtVHlwZS5TSE9SVDpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gc3RyZWFtLnJlYWRTaG9ydExFKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERhdGFJdGVtVHlwZS5JTlQ6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHN0cmVhbS5yZWFkVmFySW50KCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERhdGFJdGVtVHlwZS5GTE9BVDpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gc3RyZWFtLnJlYWRGbG9hdExFKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERhdGFJdGVtVHlwZS5TVFJJTkc6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHN0cmVhbS5yZWFkU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERhdGFJdGVtVHlwZS5DT01QT1VORF9UQUc6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IE5CVFRhZ0NvbXBvdW5kLnJlYWRGcm9tU3RyZWFtKHN0cmVhbSwgQnl0ZU9yZGVyLkxJVFRMRV9FTkRJQU4sIHRydWUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEYXRhSXRlbVR5cGUuUE9TOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBCbG9ja1Bvcy5kZXNlcmlhbGl6ZShzdHJlYW0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEYXRhSXRlbVR5cGUuTE9ORzpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gc3RyZWFtLnJlYWRMb25nTEUoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0YUl0ZW1UeXBlLlZFQzM6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IFZlYzMuZGVzZXJpYWxpemUoc3RyZWFtKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJCeXRlT3JkZXIiLCJOZXR3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
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NetworkBinaryStream, BlockPos, NetworkStructure, Vec3 } from '../';
|
|
2
|
+
import { NBTTagCompound } from '@jsprismarine/nbt';
|
|
3
|
+
import { DataItemType } from '@jsprismarine/minecraft';
|
|
4
|
+
|
|
5
|
+
type DataItemValue = number | bigint | string | NBTTagCompound | BlockPos | Vec3;
|
|
6
|
+
/**
|
|
7
|
+
* Represents the network structure of the data linked to a entity.
|
|
8
|
+
* {@link https://mojang.github.io/bedrock-protocol-docs/html/DataItem.html}
|
|
9
|
+
*/
|
|
10
|
+
export declare class DataItem extends NetworkStructure {
|
|
11
|
+
private id;
|
|
12
|
+
private type;
|
|
13
|
+
private value;
|
|
14
|
+
constructor(id: number, type: DataItemType, value: DataItemValue);
|
|
15
|
+
serialize(stream: NetworkBinaryStream): void;
|
|
16
|
+
deserialize(stream: NetworkBinaryStream): void;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=DataItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataItem.d.ts","sourceRoot":"","sources":["../../src/structure/DataItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEvD,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,GAAG,IAAI,CAAC;AAEjF;;;GAGG;AACH,qBAAa,QAAS,SAAQ,gBAAgB;IAEtC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,KAAK;gBAFL,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,aAAa;IAKzB,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAkC5C,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;CAiCxD"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { DataItemType } from '@jsprismarine/minecraft';
|
|
2
|
+
import { NBTTagCompound } from '@jsprismarine/nbt';
|
|
3
|
+
import NetworkStructure from '../NetworkStructure.es.js';
|
|
4
|
+
import BlockPos from './BlockPos.es.js';
|
|
5
|
+
import Vec3 from './Vec3.es.js';
|
|
6
|
+
import './Vec2.es.js';
|
|
7
|
+
|
|
8
|
+
var ByteOrder = /* @__PURE__ */ ((ByteOrder2) => {
|
|
9
|
+
ByteOrder2[ByteOrder2["BIG_ENDIAN"] = 0] = "BIG_ENDIAN";
|
|
10
|
+
ByteOrder2[ByteOrder2["LITTLE_ENDIAN"] = 1] = "LITTLE_ENDIAN";
|
|
11
|
+
return ByteOrder2;
|
|
12
|
+
})(ByteOrder || {});
|
|
13
|
+
|
|
14
|
+
class DataItem extends NetworkStructure {
|
|
15
|
+
constructor(id, type, value) {
|
|
16
|
+
super();
|
|
17
|
+
this.id = id;
|
|
18
|
+
this.type = type;
|
|
19
|
+
this.value = value;
|
|
20
|
+
}
|
|
21
|
+
serialize(stream) {
|
|
22
|
+
stream.writeUnsignedVarInt(this.id);
|
|
23
|
+
stream.writeSignedByte(this.type);
|
|
24
|
+
switch (this.type) {
|
|
25
|
+
case DataItemType.BYTE:
|
|
26
|
+
stream.writeByte(this.value);
|
|
27
|
+
break;
|
|
28
|
+
case DataItemType.SHORT:
|
|
29
|
+
stream.writeShortLE(this.value);
|
|
30
|
+
break;
|
|
31
|
+
case DataItemType.INT:
|
|
32
|
+
stream.writeVarInt(this.value);
|
|
33
|
+
break;
|
|
34
|
+
case DataItemType.FLOAT:
|
|
35
|
+
stream.writeFloatLE(this.value);
|
|
36
|
+
break;
|
|
37
|
+
case DataItemType.STRING:
|
|
38
|
+
stream.writeString(this.value);
|
|
39
|
+
break;
|
|
40
|
+
case DataItemType.COMPOUND_TAG:
|
|
41
|
+
this.value.writeToStream(stream, ByteOrder.LITTLE_ENDIAN, true);
|
|
42
|
+
break;
|
|
43
|
+
case DataItemType.POS:
|
|
44
|
+
this.value.serialize(stream);
|
|
45
|
+
break;
|
|
46
|
+
case DataItemType.LONG:
|
|
47
|
+
stream.writeLongLE(this.value);
|
|
48
|
+
break;
|
|
49
|
+
case DataItemType.VEC3:
|
|
50
|
+
this.value.serialize(stream);
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
deserialize(stream) {
|
|
55
|
+
this.id = stream.readUnsignedVarInt();
|
|
56
|
+
this.type = stream.readSignedByte();
|
|
57
|
+
switch (this.type) {
|
|
58
|
+
case DataItemType.BYTE:
|
|
59
|
+
this.value = stream.readByte();
|
|
60
|
+
break;
|
|
61
|
+
case DataItemType.SHORT:
|
|
62
|
+
this.value = stream.readShortLE();
|
|
63
|
+
break;
|
|
64
|
+
case DataItemType.INT:
|
|
65
|
+
this.value = stream.readVarInt();
|
|
66
|
+
break;
|
|
67
|
+
case DataItemType.FLOAT:
|
|
68
|
+
this.value = stream.readFloatLE();
|
|
69
|
+
break;
|
|
70
|
+
case DataItemType.STRING:
|
|
71
|
+
this.value = stream.readString();
|
|
72
|
+
break;
|
|
73
|
+
case DataItemType.COMPOUND_TAG:
|
|
74
|
+
this.value = NBTTagCompound.readFromStream(stream, ByteOrder.LITTLE_ENDIAN, true);
|
|
75
|
+
break;
|
|
76
|
+
case DataItemType.POS:
|
|
77
|
+
this.value = BlockPos.deserialize(stream);
|
|
78
|
+
break;
|
|
79
|
+
case DataItemType.LONG:
|
|
80
|
+
this.value = stream.readLongLE();
|
|
81
|
+
break;
|
|
82
|
+
case DataItemType.VEC3:
|
|
83
|
+
this.value = Vec3.deserialize(stream);
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export { DataItem };
|
|
90
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUl0ZW0uZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25idC9zcmMvQnl0ZU9yZGVyLnRzIiwiLi4vLi4vc3JjL3N0cnVjdHVyZS9EYXRhSXRlbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBCeXRlT3JkZXIge1xuICAgIEJJR19FTkRJQU4sXG4gICAgTElUVExFX0VORElBTlxufVxuIiwiaW1wb3J0IHsgRGF0YUl0ZW1UeXBlIH0gZnJvbSAnQGpzcHJpc21hcmluZS9taW5lY3JhZnQnO1xuaW1wb3J0IHsgTkJUVGFnQ29tcG91bmQgfSBmcm9tICdAanNwcmlzbWFyaW5lL25idCc7XG5pbXBvcnQgeyBCeXRlT3JkZXIgfSBmcm9tICdub2RlX21vZHVsZXMvQGpzcHJpc21hcmluZS9uYnQvc3JjL0J5dGVPcmRlcic7XG5pbXBvcnQgdHlwZSB7IE5ldHdvcmtCaW5hcnlTdHJlYW0gfSBmcm9tICcuLi8nO1xuaW1wb3J0IHsgQmxvY2tQb3MsIE5ldHdvcmtTdHJ1Y3R1cmUsIFZlYzMgfSBmcm9tICcuLi8nO1xuXG50eXBlIERhdGFJdGVtVmFsdWUgPSBudW1iZXIgfCBiaWdpbnQgfCBzdHJpbmcgfCBOQlRUYWdDb21wb3VuZCB8IEJsb2NrUG9zIHwgVmVjMztcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBuZXR3b3JrIHN0cnVjdHVyZSBvZiB0aGUgZGF0YSBsaW5rZWQgdG8gYSBlbnRpdHkuXG4gKiB7QGxpbmsgaHR0cHM6Ly9tb2phbmcuZ2l0aHViLmlvL2JlZHJvY2stcHJvdG9jb2wtZG9jcy9odG1sL0RhdGFJdGVtLmh0bWx9XG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhSXRlbSBleHRlbmRzIE5ldHdvcmtTdHJ1Y3R1cmUge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBpZDogbnVtYmVyLFxuICAgICAgICBwcml2YXRlIHR5cGU6IERhdGFJdGVtVHlwZSxcbiAgICAgICAgcHJpdmF0ZSB2YWx1ZTogRGF0YUl0ZW1WYWx1ZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXJpYWxpemUoc3RyZWFtOiBOZXR3b3JrQmluYXJ5U3RyZWFtKTogdm9pZCB7XG4gICAgICAgIHN0cmVhbS53cml0ZVVuc2lnbmVkVmFySW50KHRoaXMuaWQpO1xuICAgICAgICBzdHJlYW0ud3JpdGVTaWduZWRCeXRlKHRoaXMudHlwZSk7XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIERhdGFJdGVtVHlwZS5CWVRFOlxuICAgICAgICAgICAgICAgIHN0cmVhbS53cml0ZUJ5dGUodGhpcy52YWx1ZSBhcyBudW1iZXIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEYXRhSXRlbVR5cGUuU0hPUlQ6XG4gICAgICAgICAgICAgICAgc3RyZWFtLndyaXRlU2hvcnRMRSh0aGlzLnZhbHVlIGFzIG51bWJlcik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERhdGFJdGVtVHlwZS5JTlQ6XG4gICAgICAgICAgICAgICAgc3RyZWFtLndyaXRlVmFySW50KHRoaXMudmFsdWUgYXMgbnVtYmVyKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0YUl0ZW1UeXBlLkZMT0FUOlxuICAgICAgICAgICAgICAgIHN0cmVhbS53cml0ZUZsb2F0TEUodGhpcy52YWx1ZSBhcyBudW1iZXIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEYXRhSXRlbVR5cGUuU1RSSU5HOlxuICAgICAgICAgICAgICAgIHN0cmVhbS53cml0ZVN0cmluZyh0aGlzLnZhbHVlIGFzIHN0cmluZyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERhdGFJdGVtVHlwZS5DT01QT1VORF9UQUc6XG4gICAgICAgICAgICAgICAgKHRoaXMudmFsdWUgYXMgTkJUVGFnQ29tcG91bmQpLndyaXRlVG9TdHJlYW0oc3RyZWFtLCBCeXRlT3JkZXIuTElUVExFX0VORElBTiwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERhdGFJdGVtVHlwZS5QT1M6XG4gICAgICAgICAgICAgICAgKHRoaXMudmFsdWUgYXMgQmxvY2tQb3MpLnNlcmlhbGl6ZShzdHJlYW0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEYXRhSXRlbVR5cGUuTE9ORzpcbiAgICAgICAgICAgICAgICBzdHJlYW0ud3JpdGVMb25nTEUodGhpcy52YWx1ZSBhcyBiaWdpbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEYXRhSXRlbVR5cGUuVkVDMzpcbiAgICAgICAgICAgICAgICAodGhpcy52YWx1ZSBhcyBWZWMzKS5zZXJpYWxpemUoc3RyZWFtKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBkZXNlcmlhbGl6ZShzdHJlYW06IE5ldHdvcmtCaW5hcnlTdHJlYW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pZCA9IHN0cmVhbS5yZWFkVW5zaWduZWRWYXJJbnQoKTtcbiAgICAgICAgdGhpcy50eXBlID0gc3RyZWFtLnJlYWRTaWduZWRCeXRlKCk7XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIERhdGFJdGVtVHlwZS5CWVRFOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBzdHJlYW0ucmVhZEJ5dGUoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0YUl0ZW1UeXBlLlNIT1JUOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBzdHJlYW0ucmVhZFNob3J0TEUoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0YUl0ZW1UeXBlLklOVDpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gc3RyZWFtLnJlYWRWYXJJbnQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0YUl0ZW1UeXBlLkZMT0FUOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBzdHJlYW0ucmVhZEZsb2F0TEUoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0YUl0ZW1UeXBlLlNUUklORzpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gc3RyZWFtLnJlYWRTdHJpbmcoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0YUl0ZW1UeXBlLkNPTVBPVU5EX1RBRzpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gTkJUVGFnQ29tcG91bmQucmVhZEZyb21TdHJlYW0oc3RyZWFtLCBCeXRlT3JkZXIuTElUVExFX0VORElBTiwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERhdGFJdGVtVHlwZS5QT1M6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IEJsb2NrUG9zLmRlc2VyaWFsaXplKHN0cmVhbSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERhdGFJdGVtVHlwZS5MT05HOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBzdHJlYW0ucmVhZExvbmdMRSgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEYXRhSXRlbVR5cGUuVkVDMzpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gVmVjMy5kZXNlcmlhbGl6ZShzdHJlYW0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIkJ5dGVPcmRlciJdLCJtYXBw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
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
4
|
+
|
|
5
|
+
const NetworkStructure = require('../NetworkStructure.cjs.js');
|
|
6
|
+
|
|
7
|
+
class Experiments extends NetworkStructure.default {
|
|
8
|
+
toggled = [];
|
|
9
|
+
wereEverAlreadyToggled = false;
|
|
10
|
+
serialize(stream) {
|
|
11
|
+
stream.writeUnsignedIntLE(this.toggled.length);
|
|
12
|
+
stream.writeBoolean(this.wereEverAlreadyToggled);
|
|
13
|
+
}
|
|
14
|
+
deserialize(stream) {
|
|
15
|
+
const length = stream.readUnsignedIntLE();
|
|
16
|
+
for (let i = 0; i < length; i++) {
|
|
17
|
+
this.toggled.push({
|
|
18
|
+
name: stream.readString(),
|
|
19
|
+
enabled: stream.readBoolean()
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
this.wereEverAlreadyToggled = stream.readBoolean();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
exports.default = Experiments;
|
|
27
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhwZXJpbWVudHMuY2pzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RydWN0dXJlL0V4cGVyaW1lbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTmV0d29ya0JpbmFyeVN0cmVhbSB9IGZyb20gJy4uLyc7XG5pbXBvcnQgeyBOZXR3b3JrU3RydWN0dXJlIH0gZnJvbSAnLi4vJztcbmltcG9ydCB7IHR5cGUgRXhwZXJpbWVudCB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvbWluZWNyYWZ0JztcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBuZXR3b3JrIHN0cnVjdHVyZSBmb3IgZXhwZXJpbWVudHMuXG4gKiB7QGxpbmsgaHR0cHM6Ly9tb2phbmcuZ2l0aHViLmlvL2JlZHJvY2stcHJvdG9jb2wtZG9jcy9odG1sL0V4cGVyaW1lbnRzLmh0bWx9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV4cGVyaW1lbnRzIGV4dGVuZHMgTmV0d29ya1N0cnVjdHVyZSB7XG4gICAgcHVibGljIHRvZ2dsZWQ6IEFycmF5PEV4cGVyaW1lbnQ+ID0gW107XG4gICAgcHVibGljIHdlcmVFdmVyQWxyZWFkeVRvZ2dsZWQgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBzZXJpYWxpemUoc3RyZWFtOiBOZXR3b3JrQmluYXJ5U3RyZWFtKTogdm9pZCB7XG4gICAgICAgIHN0cmVhbS53cml0ZVVuc2lnbmVkSW50TEUodGhpcy50b2dnbGVkLmxlbmd0aCk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy53ZXJlRXZlckFscmVhZHlUb2dnbGVkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzZXJpYWxpemUoc3RyZWFtOiBOZXR3b3JrQmluYXJ5U3RyZWFtKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHN0cmVhbS5yZWFkVW5zaWduZWRJbnRMRSgpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZWQucHVzaCg8RXhwZXJpbWVudD57XG4gICAgICAgICAgICAgICAgbmFtZTogc3RyZWFtLnJlYWRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgICBlbmFibGVkOiBzdHJlYW0ucmVhZEJvb2xlYW4oKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53ZXJlRXZlckFscmVhZHlUb2dnbGVkID0gc3RyZWFtLnJlYWRCb29sZWFuKCk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIk5ldHdvcmtTdHJ1Y3R1cmUiXSwibWFwcGluZ3MiOiI7Ozs7OztBQVFBLE1BQXFCLG9CQUFvQkEsd0JBQWlCLENBQUE7QUFBQSxFQUMvQyxVQUE2QixFQUFDLENBQUE7QUFBQSxFQUM5QixzQkFBeUIsR0FBQSxLQUFBLENBQUE7QUFBQSxFQUV6QixVQUFVLE1BQW1DLEVBQUE7QUFDaEQsSUFBTyxNQUFBLENBQUEsa0JBQUEsQ0FBbUIsSUFBSyxDQUFBLE9BQUEsQ0FBUSxNQUFNLENBQUEsQ0FBQTtBQUM3QyxJQUFPLE1BQUEsQ0FBQSxZQUFBLENBQWEsS0FBSyxzQkFBc0IsQ0FBQSxDQUFBO0FBQUEsR0FDbkQ7QUFBQSxFQUVPLFlBQVksTUFBbUMsRUFBQTtBQUNsRCxJQUFNLE1BQUEsTUFBQSxHQUFTLE9BQU8saUJBQWtCLEVBQUEsQ0FBQTtBQUN4QyxJQUFBLEtBQUEsSUFBUyxDQUFJLEdBQUEsQ0FBQSxFQUFHLENBQUksR0FBQSxNQUFBLEVBQVEsQ0FBSyxFQUFBLEVBQUE7QUFDN0IsTUFBQSxJQUFBLENBQUssUUFBUSxJQUFpQixDQUFBO0FBQUEsUUFDMUIsSUFBQSxFQUFNLE9BQU8sVUFBVyxFQUFBO0FBQUEsUUFDeEIsT0FBQSxFQUFTLE9BQU8sV0FBWSxFQUFBO0FBQUEsT0FDL0IsQ0FBQSxDQUFBO0FBQUEsS0FDTDtBQUNBLElBQUssSUFBQSxDQUFBLHNCQUFBLEdBQXlCLE9BQU8sV0FBWSxFQUFBLENBQUE7QUFBQSxHQUNyRDtBQUNKOzs7OyJ9
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Experiment } from '@jsprismarine/minecraft';
|
|
2
|
+
import { NetworkBinaryStream, NetworkStructure } from '../';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Represents the network structure for experiments.
|
|
6
|
+
* {@link https://mojang.github.io/bedrock-protocol-docs/html/Experiments.html}
|
|
7
|
+
*/
|
|
8
|
+
export default class Experiments extends NetworkStructure {
|
|
9
|
+
toggled: Array<Experiment>;
|
|
10
|
+
wereEverAlreadyToggled: boolean;
|
|
11
|
+
serialize(stream: NetworkBinaryStream): void;
|
|
12
|
+
deserialize(stream: NetworkBinaryStream): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=Experiments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Experiments.d.ts","sourceRoot":"","sources":["../../src/structure/Experiments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,gBAAgB;IAC9C,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAM;IAChC,sBAAsB,UAAS;IAE/B,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAK5C,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;CAUxD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import NetworkStructure from '../NetworkStructure.es.js';
|
|
2
|
+
|
|
3
|
+
class Experiments extends NetworkStructure {
|
|
4
|
+
toggled = [];
|
|
5
|
+
wereEverAlreadyToggled = false;
|
|
6
|
+
serialize(stream) {
|
|
7
|
+
stream.writeUnsignedIntLE(this.toggled.length);
|
|
8
|
+
stream.writeBoolean(this.wereEverAlreadyToggled);
|
|
9
|
+
}
|
|
10
|
+
deserialize(stream) {
|
|
11
|
+
const length = stream.readUnsignedIntLE();
|
|
12
|
+
for (let i = 0; i < length; i++) {
|
|
13
|
+
this.toggled.push({
|
|
14
|
+
name: stream.readString(),
|
|
15
|
+
enabled: stream.readBoolean()
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
this.wereEverAlreadyToggled = stream.readBoolean();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { Experiments as default };
|
|
23
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhwZXJpbWVudHMuZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJ1Y3R1cmUvRXhwZXJpbWVudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOZXR3b3JrQmluYXJ5U3RyZWFtIH0gZnJvbSAnLi4vJztcbmltcG9ydCB7IE5ldHdvcmtTdHJ1Y3R1cmUgfSBmcm9tICcuLi8nO1xuaW1wb3J0IHsgdHlwZSBFeHBlcmltZW50IH0gZnJvbSAnQGpzcHJpc21hcmluZS9taW5lY3JhZnQnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIG5ldHdvcmsgc3RydWN0dXJlIGZvciBleHBlcmltZW50cy5cbiAqIHtAbGluayBodHRwczovL21vamFuZy5naXRodWIuaW8vYmVkcm9jay1wcm90b2NvbC1kb2NzL2h0bWwvRXhwZXJpbWVudHMuaHRtbH1cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXhwZXJpbWVudHMgZXh0ZW5kcyBOZXR3b3JrU3RydWN0dXJlIHtcbiAgICBwdWJsaWMgdG9nZ2xlZDogQXJyYXk8RXhwZXJpbWVudD4gPSBbXTtcbiAgICBwdWJsaWMgd2VyZUV2ZXJBbHJlYWR5VG9nZ2xlZCA9IGZhbHNlO1xuXG4gICAgcHVibGljIHNlcmlhbGl6ZShzdHJlYW06IE5ldHdvcmtCaW5hcnlTdHJlYW0pOiB2b2lkIHtcbiAgICAgICAgc3RyZWFtLndyaXRlVW5zaWduZWRJbnRMRSh0aGlzLnRvZ2dsZWQubGVuZ3RoKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLndlcmVFdmVyQWxyZWFkeVRvZ2dsZWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXNlcmlhbGl6ZShzdHJlYW06IE5ldHdvcmtCaW5hcnlTdHJlYW0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gc3RyZWFtLnJlYWRVbnNpZ25lZEludExFKCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlZC5wdXNoKDxFeHBlcmltZW50PntcbiAgICAgICAgICAgICAgICBuYW1lOiBzdHJlYW0ucmVhZFN0cmluZygpLFxuICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHN0cmVhbS5yZWFkQm9vbGVhbigpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLndlcmVFdmVyQWxyZWFkeVRvZ2dsZWQgPSBzdHJlYW0ucmVhZEJvb2xlYW4oKTtcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSxNQUFxQixvQkFBb0IsZ0JBQWlCLENBQUE7QUFBQSxFQUMvQyxVQUE2QixFQUFDLENBQUE7QUFBQSxFQUM5QixzQkFBeUIsR0FBQSxLQUFBLENBQUE7QUFBQSxFQUV6QixVQUFVLE1BQW1DLEVBQUE7QUFDaEQsSUFBTyxNQUFBLENBQUEsa0JBQUEsQ0FBbUIsSUFBSyxDQUFBLE9BQUEsQ0FBUSxNQUFNLENBQUEsQ0FBQTtBQUM3QyxJQUFPLE1BQUEsQ0FBQSxZQUFBLENBQWEsS0FBSyxzQkFBc0IsQ0FBQSxDQUFBO0FBQUEsR0FDbkQ7QUFBQSxFQUVPLFlBQVksTUFBbUMsRUFBQTtBQUNsRCxJQUFNLE1BQUEsTUFBQSxHQUFTLE9BQU8saUJBQWtCLEVBQUEsQ0FBQTtBQUN4QyxJQUFBLEtBQUEsSUFBUyxDQUFJLEdBQUEsQ0FBQSxFQUFHLENBQUksR0FBQSxNQUFBLEVBQVEsQ0FBSyxFQUFBLEVBQUE7QUFDN0IsTUFBQSxJQUFBLENBQUssUUFBUSxJQUFpQixDQUFBO0FBQUEsUUFDMUIsSUFBQSxFQUFNLE9BQU8sVUFBVyxFQUFBO0FBQUEsUUFDeEIsT0FBQSxFQUFTLE9BQU8sV0FBWSxFQUFBO0FBQUEsT0FDL0IsQ0FBQSxDQUFBO0FBQUEsS0FDTDtBQUNBLElBQUssSUFBQSxDQUFBLHNCQUFBLEdBQXlCLE9BQU8sV0FBWSxFQUFBLENBQUE7QUFBQSxHQUNyRDtBQUNKOzs7OyJ9
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
4
|
+
|
|
5
|
+
const NetworkStructure = require('../NetworkStructure.cjs.js');
|
|
6
|
+
|
|
7
|
+
class ItemData extends NetworkStructure.default {
|
|
8
|
+
constructor(itemName, itemId, componentBased) {
|
|
9
|
+
super();
|
|
10
|
+
this.itemName = itemName;
|
|
11
|
+
this.itemId = itemId;
|
|
12
|
+
this.componentBased = componentBased;
|
|
13
|
+
}
|
|
14
|
+
serialize(stream) {
|
|
15
|
+
stream.writeString(this.itemName);
|
|
16
|
+
stream.writeUnsignedVarInt(this.itemId);
|
|
17
|
+
stream.writeBoolean(this.componentBased);
|
|
18
|
+
}
|
|
19
|
+
deserialize(stream) {
|
|
20
|
+
this.itemName = stream.readString();
|
|
21
|
+
this.itemId = stream.readUnsignedVarInt();
|
|
22
|
+
this.componentBased = stream.readBoolean();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
exports.default = ItemData;
|
|
27
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXRlbURhdGEuY2pzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RydWN0dXJlL0l0ZW1EYXRhLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTmV0d29ya0JpbmFyeVN0cmVhbSB9IGZyb20gJy4uLyc7XG5pbXBvcnQgeyBOZXR3b3JrU3RydWN0dXJlIH0gZnJvbSAnLi4vJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBuZXR3b3JrIHN0cnVjdHVyZSBvZiB0aGUgZGF0YSBsaW5rZWQgdG8gYSBpdGVtLlxuICoge0BsaW5rIGh0dHBzOi8vbW9qYW5nLmdpdGh1Yi5pby9iZWRyb2NrLXByb3RvY29sLWRvY3MvaHRtbC9JdGVtRGF0YS5odG1sfVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJdGVtRGF0YSBleHRlbmRzIE5ldHdvcmtTdHJ1Y3R1cmUge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGl0ZW1OYW1lOiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyBpdGVtSWQ6IG51bWJlcixcbiAgICAgICAgcHVibGljIGNvbXBvbmVudEJhc2VkOiBib29sZWFuXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlcmlhbGl6ZShzdHJlYW06IE5ldHdvcmtCaW5hcnlTdHJlYW0pOiB2b2lkIHtcbiAgICAgICAgc3RyZWFtLndyaXRlU3RyaW5nKHRoaXMuaXRlbU5hbWUpO1xuICAgICAgICBzdHJlYW0ud3JpdGVVbnNpZ25lZFZhckludCh0aGlzLml0ZW1JZCk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5jb21wb25lbnRCYXNlZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlc2VyaWFsaXplKHN0cmVhbTogTmV0d29ya0JpbmFyeVN0cmVhbSk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1OYW1lID0gc3RyZWFtLnJlYWRTdHJpbmcoKTtcbiAgICAgICAgdGhpcy5pdGVtSWQgPSBzdHJlYW0ucmVhZFVuc2lnbmVkVmFySW50KCk7XG4gICAgICAgIHRoaXMuY29tcG9uZW50QmFzZWQgPSBzdHJlYW0ucmVhZEJvb2xlYW4oKTtcbiAgICB9XG59XG4iXSwibmFtZXMiOlsiTmV0d29ya1N0cnVjdHVyZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBT0EsTUFBcUIsaUJBQWlCQSx3QkFBaUIsQ0FBQTtBQUFBLEVBQzVDLFdBQUEsQ0FDSSxRQUNBLEVBQUEsTUFBQSxFQUNBLGNBQ1QsRUFBQTtBQUNFLElBQU0sS0FBQSxFQUFBLENBQUE7QUFKQyxJQUFBLElBQUEsQ0FBQSxRQUFBLEdBQUEsUUFBQSxDQUFBO0FBQ0EsSUFBQSxJQUFBLENBQUEsTUFBQSxHQUFBLE1BQUEsQ0FBQTtBQUNBLElBQUEsSUFBQSxDQUFBLGNBQUEsR0FBQSxjQUFBLENBQUE7QUFBQSxHQUdYO0FBQUEsRUFFTyxVQUFVLE1BQW1DLEVBQUE7QUFDaEQsSUFBTyxNQUFBLENBQUEsV0FBQSxDQUFZLEtBQUssUUFBUSxDQUFBLENBQUE7QUFDaEMsSUFBTyxNQUFBLENBQUEsbUJBQUEsQ0FBb0IsS0FBSyxNQUFNLENBQUEsQ0FBQTtBQUN0QyxJQUFPLE1BQUEsQ0FBQSxZQUFBLENBQWEsS0FBSyxjQUFjLENBQUEsQ0FBQTtBQUFBLEdBQzNDO0FBQUEsRUFFTyxZQUFZLE1BQW1DLEVBQUE7QUFDbEQsSUFBSyxJQUFBLENBQUEsUUFBQSxHQUFXLE9BQU8sVUFBVyxFQUFBLENBQUE7QUFDbEMsSUFBSyxJQUFBLENBQUEsTUFBQSxHQUFTLE9BQU8sa0JBQW1CLEVBQUEsQ0FBQTtBQUN4QyxJQUFLLElBQUEsQ0FBQSxjQUFBLEdBQWlCLE9BQU8sV0FBWSxFQUFBLENBQUE7QUFBQSxHQUM3QztBQUNKOzs7OyJ9
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { NetworkBinaryStream, NetworkStructure } from '../';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Represents the network structure of the data linked to a item.
|
|
5
|
+
* {@link https://mojang.github.io/bedrock-protocol-docs/html/ItemData.html}
|
|
6
|
+
*/
|
|
7
|
+
export default class ItemData extends NetworkStructure {
|
|
8
|
+
itemName: string;
|
|
9
|
+
itemId: number;
|
|
10
|
+
componentBased: boolean;
|
|
11
|
+
constructor(itemName: string, itemId: number, componentBased: boolean);
|
|
12
|
+
serialize(stream: NetworkBinaryStream): void;
|
|
13
|
+
deserialize(stream: NetworkBinaryStream): void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=ItemData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemData.d.ts","sourceRoot":"","sources":["../../src/structure/ItemData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAEvC;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,gBAAgB;IAEvC,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,MAAM;IACd,cAAc,EAAE,OAAO;gBAFvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,OAAO;IAK3B,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAM5C,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;CAKxD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import NetworkStructure from '../NetworkStructure.es.js';
|
|
2
|
+
|
|
3
|
+
class ItemData extends NetworkStructure {
|
|
4
|
+
constructor(itemName, itemId, componentBased) {
|
|
5
|
+
super();
|
|
6
|
+
this.itemName = itemName;
|
|
7
|
+
this.itemId = itemId;
|
|
8
|
+
this.componentBased = componentBased;
|
|
9
|
+
}
|
|
10
|
+
serialize(stream) {
|
|
11
|
+
stream.writeString(this.itemName);
|
|
12
|
+
stream.writeUnsignedVarInt(this.itemId);
|
|
13
|
+
stream.writeBoolean(this.componentBased);
|
|
14
|
+
}
|
|
15
|
+
deserialize(stream) {
|
|
16
|
+
this.itemName = stream.readString();
|
|
17
|
+
this.itemId = stream.readUnsignedVarInt();
|
|
18
|
+
this.componentBased = stream.readBoolean();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { ItemData as default };
|
|
23
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXRlbURhdGEuZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJ1Y3R1cmUvSXRlbURhdGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOZXR3b3JrQmluYXJ5U3RyZWFtIH0gZnJvbSAnLi4vJztcbmltcG9ydCB7IE5ldHdvcmtTdHJ1Y3R1cmUgfSBmcm9tICcuLi8nO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIG5ldHdvcmsgc3RydWN0dXJlIG9mIHRoZSBkYXRhIGxpbmtlZCB0byBhIGl0ZW0uXG4gKiB7QGxpbmsgaHR0cHM6Ly9tb2phbmcuZ2l0aHViLmlvL2JlZHJvY2stcHJvdG9jb2wtZG9jcy9odG1sL0l0ZW1EYXRhLmh0bWx9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEl0ZW1EYXRhIGV4dGVuZHMgTmV0d29ya1N0cnVjdHVyZSB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgaXRlbU5hbWU6IHN0cmluZyxcbiAgICAgICAgcHVibGljIGl0ZW1JZDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgY29tcG9uZW50QmFzZWQ6IGJvb2xlYW5cbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VyaWFsaXplKHN0cmVhbTogTmV0d29ya0JpbmFyeVN0cmVhbSk6IHZvaWQge1xuICAgICAgICBzdHJlYW0ud3JpdGVTdHJpbmcodGhpcy5pdGVtTmFtZSk7XG4gICAgICAgIHN0cmVhbS53cml0ZVVuc2lnbmVkVmFySW50KHRoaXMuaXRlbUlkKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLmNvbXBvbmVudEJhc2VkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzZXJpYWxpemUoc3RyZWFtOiBOZXR3b3JrQmluYXJ5U3RyZWFtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbU5hbWUgPSBzdHJlYW0ucmVhZFN0cmluZygpO1xuICAgICAgICB0aGlzLml0ZW1JZCA9IHN0cmVhbS5yZWFkVW5zaWduZWRWYXJJbnQoKTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRCYXNlZCA9IHN0cmVhbS5yZWFkQm9vbGVhbigpO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU9BLE1BQXFCLGlCQUFpQixnQkFBaUIsQ0FBQTtBQUFBLEVBQzVDLFdBQUEsQ0FDSSxRQUNBLEVBQUEsTUFBQSxFQUNBLGNBQ1QsRUFBQTtBQUNFLElBQU0sS0FBQSxFQUFBLENBQUE7QUFKQyxJQUFBLElBQUEsQ0FBQSxRQUFBLEdBQUEsUUFBQSxDQUFBO0FBQ0EsSUFBQSxJQUFBLENBQUEsTUFBQSxHQUFBLE1BQUEsQ0FBQTtBQUNBLElBQUEsSUFBQSxDQUFBLGNBQUEsR0FBQSxjQUFBLENBQUE7QUFBQSxHQUdYO0FBQUEsRUFFTyxVQUFVLE1BQW1DLEVBQUE7QUFDaEQsSUFBTyxNQUFBLENBQUEsV0FBQSxDQUFZLEtBQUssUUFBUSxDQUFBLENBQUE7QUFDaEMsSUFBTyxNQUFBLENBQUEsbUJBQUEsQ0FBb0IsS0FBSyxNQUFNLENBQUEsQ0FBQTtBQUN0QyxJQUFPLE1BQUEsQ0FBQSxZQUFBLENBQWEsS0FBSyxjQUFjLENBQUEsQ0FBQTtBQUFBLEdBQzNDO0FBQUEsRUFFTyxZQUFZLE1BQW1DLEVBQUE7QUFDbEQsSUFBSyxJQUFBLENBQUEsUUFBQSxHQUFXLE9BQU8sVUFBVyxFQUFBLENBQUE7QUFDbEMsSUFBSyxJQUFBLENBQUEsTUFBQSxHQUFTLE9BQU8sa0JBQW1CLEVBQUEsQ0FBQTtBQUN4QyxJQUFLLElBQUEsQ0FBQSxjQUFBLEdBQWlCLE9BQU8sV0FBWSxFQUFBLENBQUE7QUFBQSxHQUM3QztBQUNKOzs7OyJ9
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
4
|
+
|
|
5
|
+
const NetworkStructure = require('../NetworkStructure.cjs.js');
|
|
6
|
+
const nbt = require('@jsprismarine/nbt');
|
|
7
|
+
|
|
8
|
+
class ItemInstanceUserData extends NetworkStructure.default {
|
|
9
|
+
/**
|
|
10
|
+
* Creates a new instance of the ItemInstanceUserData class.
|
|
11
|
+
* @param dataSerializationMarker - The data serialization marker.
|
|
12
|
+
* @param dataSerializationVersion - The data serialization version.
|
|
13
|
+
* @param userDataTag - The user nbt data tag.
|
|
14
|
+
* @param config - The configuration options for the user data.
|
|
15
|
+
*/
|
|
16
|
+
constructor(dataSerializationMarker, userDataTag, config = {}) {
|
|
17
|
+
super();
|
|
18
|
+
this.dataSerializationMarker = dataSerializationMarker;
|
|
19
|
+
this.userDataTag = userDataTag;
|
|
20
|
+
this.canPlaceOnBlocks = config.canPlaceOnBlocks ?? [];
|
|
21
|
+
this.canDestroyBlocks = config.canDestroyBlocks ?? [];
|
|
22
|
+
this.dataSerializationVersion = config.dataSerializationVersion ?? this.CURRENT_ENCODE_VERSION;
|
|
23
|
+
}
|
|
24
|
+
// Blocks that the item can be placed on.
|
|
25
|
+
canPlaceOnBlocks;
|
|
26
|
+
// Blocks that the item can destroy.
|
|
27
|
+
canDestroyBlocks;
|
|
28
|
+
dataSerializationVersion;
|
|
29
|
+
CURRENT_ENCODE_VERSION = 1;
|
|
30
|
+
serialize(stream) {
|
|
31
|
+
stream.writeShortLE(this.dataSerializationMarker);
|
|
32
|
+
stream.writeByte(this.dataSerializationVersion);
|
|
33
|
+
this.userDataTag.writeToStream(stream, nbt.ByteOrder.LITTLE_ENDIAN, true);
|
|
34
|
+
stream.writeUnsignedIntLE(this.canPlaceOnBlocks.length);
|
|
35
|
+
for (const block of this.canPlaceOnBlocks) {
|
|
36
|
+
stream.writeString(block);
|
|
37
|
+
}
|
|
38
|
+
stream.writeUnsignedIntLE(this.canDestroyBlocks.length);
|
|
39
|
+
for (const block of this.canDestroyBlocks) {
|
|
40
|
+
stream.writeString(block);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
deserialize(stream) {
|
|
44
|
+
this.dataSerializationMarker = stream.readShortLE();
|
|
45
|
+
this.dataSerializationVersion = stream.readByte();
|
|
46
|
+
this.userDataTag = nbt.NBTTagCompound.readFromStream(stream, nbt.ByteOrder.LITTLE_ENDIAN, true);
|
|
47
|
+
const canPlaceOnBlocksLength = stream.readUnsignedIntLE();
|
|
48
|
+
for (let i = 0; i < canPlaceOnBlocksLength; i++) {
|
|
49
|
+
this.canPlaceOnBlocks.push(stream.readString());
|
|
50
|
+
}
|
|
51
|
+
const canDestroyBlocksLength = stream.readUnsignedIntLE();
|
|
52
|
+
for (let i = 0; i < canDestroyBlocksLength; i++) {
|
|
53
|
+
this.canDestroyBlocks.push(stream.readString());
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
exports.default = ItemInstanceUserData;
|
|
59
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXRlbUluc3RhbmNlVXNlckRhdGEuY2pzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RydWN0dXJlL0l0ZW1JbnN0YW5jZVVzZXJEYXRhLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTmV0d29ya0JpbmFyeVN0cmVhbSB9IGZyb20gJy4uLyc7XG5pbXBvcnQgeyBOZXR3b3JrU3RydWN0dXJlIH0gZnJvbSAnLi4vJztcbmltcG9ydCB7IEJ5dGVPcmRlciwgTkJUVGFnQ29tcG91bmQgfSBmcm9tICdAanNwcmlzbWFyaW5lL25idCc7XG5cbmludGVyZmFjZSBJdGVtSW5zdGFuY2VVc2VyRGF0YUNvbmZpZyB7XG4gICAgY2FuUGxhY2VPbkJsb2Nrcz86IEFycmF5PHN0cmluZz47XG4gICAgY2FuRGVzdHJveUJsb2Nrcz86IEFycmF5PHN0cmluZz47XG4gICAgZGF0YVNlcmlhbGl6YXRpb25WZXJzaW9uPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBuZXR3b3JrIHN0cnVjdHVyZSBvZiBhIGl0ZW0gaW5zdGFuY2UgdXNlciBkYXRhLlxuICoge0BsaW5rIGh0dHBzOi8vbW9qYW5nLmdpdGh1Yi5pby9iZWRyb2NrLXByb3RvY29sLWRvY3MvaHRtbC9JdGVtSW5zdGFuY2VVc2VyRGF0YS5odG1sfVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJdGVtSW5zdGFuY2VVc2VyRGF0YSBleHRlbmRzIE5ldHdvcmtTdHJ1Y3R1cmUge1xuICAgIC8vIEJsb2NrcyB0aGF0IHRoZSBpdGVtIGNhbiBiZSBwbGFjZWQgb24uXG4gICAgcHVibGljIGNhblBsYWNlT25CbG9ja3M6IEFycmF5PHN0cmluZz47XG4gICAgLy8gQmxvY2tzIHRoYXQgdGhlIGl0ZW0gY2FuIGRlc3Ryb3kuXG4gICAgcHVibGljIGNhbkRlc3Ryb3lCbG9ja3M6IEFycmF5PHN0cmluZz47XG4gICAgcHVibGljIGRhdGFTZXJpYWxpemF0aW9uVmVyc2lvbjogbnVtYmVyO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBDVVJSRU5UX0VOQ09ERV9WRVJTSU9OID0gMTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIEl0ZW1JbnN0YW5jZVVzZXJEYXRhIGNsYXNzLlxuICAgICAqIEBwYXJhbSBkYXRhU2VyaWFsaXphdGlvbk1hcmtlciAtIFRoZSBkYXRhIHNlcmlhbGl6YXRpb24gbWFya2VyLlxuICAgICAqIEBwYXJhbSBkYXRhU2VyaWFsaXphdGlvblZlcnNpb24gLSBUaGUgZGF0YSBzZXJpYWxpemF0aW9uIHZlcnNpb24uXG4gICAgICogQHBhcmFtIHVzZXJEYXRhVGFnIC0gVGhlIHVzZXIgbmJ0IGRhdGEgdGFnLlxuICAgICAqIEBwYXJhbSBjb25maWcgLSBUaGUgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgdXNlciBkYXRhLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGRhdGFTZXJpYWxpemF0aW9uTWFya2VyOiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyB1c2VyRGF0YVRhZzogTkJUVGFnQ29tcG91bmQsXG4gICAgICAgIGNvbmZpZzogSXRlbUluc3RhbmNlVXNlckRhdGFDb25maWcgPSB7fVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmNhblBsYWNlT25CbG9ja3MgPSBjb25maWcuY2FuUGxhY2VPbkJsb2NrcyA/PyBbXTtcbiAgICAgICAgdGhpcy5jYW5EZXN0cm95QmxvY2tzID0gY29uZmlnLmNhbkRlc3Ryb3lCbG9ja3MgPz8gW107XG4gICAgICAgIHRoaXMuZGF0YVNlcmlhbGl6YXRpb25WZXJzaW9uID0gY29uZmlnLmRhdGFTZXJpYWxpemF0aW9uVmVyc2lvbiA/PyB0aGlzLkNVUlJFTlRfRU5DT0RFX1ZFUlNJT047XG4gICAgfVxuXG4gICAgcHVibGljIHNlcmlhbGl6ZShzdHJlYW06IE5ldHdvcmtCaW5hcnlTdHJlYW0pOiB2b2lkIHtcbiAgICAgICAgc3RyZWFtLndyaXRlU2hvcnRMRSh0aGlzLmRhdGFTZXJpYWxpemF0aW9uTWFya2VyKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQnl0ZSh0aGlzLmRhdGFTZXJpYWxpemF0aW9uVmVyc2lvbik7XG4gICAgICAgIHRoaXMudXNlckRhdGFUYWcud3JpdGVUb1N0cmVhbShzdHJlYW0sIEJ5dGVPcmRlci5MSVRUTEVfRU5ESUFOLCB0cnVlKTtcbiAgICAgICAgc3RyZWFtLndyaXRlVW5zaWduZWRJbnRMRSh0aGlzLmNhblBsYWNlT25CbG9ja3MubGVuZ3RoKTtcbiAgICAgICAgZm9yIChjb25zdCBibG9jayBvZiB0aGlzLmNhblBsYWNlT25CbG9ja3MpIHtcbiAgICAgICAgICAgIHN0cmVhbS53cml0ZVN0cmluZyhibG9jayk7XG4gICAgICAgIH1cbiAgICAgICAgc3RyZWFtLndyaXRlVW5zaWduZWRJbnRMRSh0aGlzLmNhbkRlc3Ryb3lCbG9ja3MubGVuZ3RoKTtcbiAgICAgICAgZm9yIChjb25zdCBibG9jayBvZiB0aGlzLmNhbkRlc3Ryb3lCbG9ja3MpIHtcbiAgICAgICAgICAgIHN0cmVhbS53cml0ZVN0cmluZyhibG9jayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzZXJpYWxpemUoc3RyZWFtOiBOZXR3b3JrQmluYXJ5U3RyZWFtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YVNlcmlhbGl6YXRpb25NYXJrZXIgPSBzdHJlYW0ucmVhZFNob3J0TEUoKTtcbiAgICAgICAgdGhpcy5kYXRhU2VyaWFsaXphdGlvblZlcnNpb24gPSBzdHJlYW0ucmVhZEJ5dGUoKTtcbiAgICAgICAgdGhpcy51c2VyRGF0YVRhZyA9IE5CVFRhZ0NvbXBvdW5kLnJlYWRGcm9tU3RyZWFtKHN0cmVhbSwgQnl0ZU9yZGVyLkxJVFRMRV9FTkRJQU4sIHRydWUpO1xuICAgICAgICBjb25zdCBjYW5QbGFjZU9uQmxvY2tzTGVuZ3RoID0gc3RyZWFtLnJlYWRVbnNpZ25lZEludExFKCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2FuUGxhY2VPbkJsb2Nrc0xlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzLmNhblBsYWNlT25CbG9ja3MucHVzaChzdHJlYW0ucmVhZFN0cmluZygpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjYW5EZXN0cm95QmxvY2tzTGVuZ3RoID0gc3RyZWFtLnJlYWRVbnNpZ25lZEludExFKCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2FuRGVzdHJveUJsb2Nrc0xlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzLmNhbkRlc3Ryb3lCbG9ja3MucHVzaChzdHJlYW0ucmVhZFN0cmluZygpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJOZXR3b3JrU3RydWN0dXJlIiwiQnl0ZU9yZGVyIiwiTkJUVGFnQ29tcG91bmQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFjQSxNQUFxQiw2QkFBNkJBLHdCQUFpQixDQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWdCeEQsV0FDSSxDQUFBLHVCQUFBLEVBQ0EsV0FDUCxFQUFBLE1BQUEsR0FBcUMsRUFDdkMsRUFBQTtBQUNFLElBQU0sS0FBQSxFQUFBLENBQUE7QUFKQyxJQUFBLElBQUEsQ0FBQSx1QkFBQSxHQUFBLHVCQUFBLENBQUE7QUFDQSxJQUFBLElBQUEsQ0FBQSxXQUFBLEdBQUEsV0FBQSxDQUFBO0FBSVAsSUFBSyxJQUFBLENBQUEsZ0JBQUEsR0FBbUIsTUFBTyxDQUFBLGdCQUFBLElBQW9CLEVBQUMsQ0FBQTtBQUNwRCxJQUFLLElBQUEsQ0FBQSxnQkFBQSxHQUFtQixNQUFPLENBQUEsZ0JBQUEsSUFBb0IsRUFBQyxDQUFBO0FBQ3BELElBQUssSUFBQSxDQUFBLHdCQUFBLEdBQTJCLE1BQU8sQ0FBQSx3QkFBQSxJQUE0QixJQUFLLENBQUEsc0JBQUEsQ0FBQTtBQUFBLEdBQzVFO0FBQUE7QUFBQSxFQXZCTyxnQkFBQSxDQUFBO0FBQUE7QUFBQSxFQUVBLGdCQUFBLENBQUE7QUFBQSxFQUNBLHdCQUFBLENBQUE7QUFBQSxFQUVVLHNCQUF5QixHQUFBLENBQUEsQ0FBQTtBQUFBLEVBb0JuQyxVQUFVLE1BQW1DLEVBQUE7QUFDaEQsSUFBTyxNQUFBLENBQUEsWUFBQSxDQUFhLEtBQUssdUJBQXVCLENBQUEsQ0FBQTtBQUNoRCxJQUFPLE1BQUEsQ0FBQSxTQUFBLENBQVUsS0FBSyx3QkFBd0IsQ0FBQSxDQUFBO0FBQzlDLElBQUEsSUFBQSxDQUFLLFdBQVksQ0FBQSxhQUFBLENBQWMsTUFBUSxFQUFBQyxhQUFBLENBQVUsZUFBZSxJQUFJLENBQUEsQ0FBQTtBQUNwRSxJQUFPLE1BQUEsQ0FBQSxrQkFBQSxDQUFtQixJQUFLLENBQUEsZ0JBQUEsQ0FBaUIsTUFBTSxDQUFBLENBQUE7QUFDdEQsSUFBVyxLQUFBLE1BQUEsS0FBQSxJQUFTLEtBQUssZ0JBQWtCLEVBQUE7QUFDdkMsTUFBQSxNQUFBLENBQU8sWUFBWSxLQUFLLENBQUEsQ0FBQTtBQUFBLEtBQzVCO0FBQ0EsSUFBTyxNQUFBLENBQUEsa0JBQUEsQ0FBbUIsSUFBSyxDQUFBLGdCQUFBLENBQWlCLE1BQU0sQ0FBQSxDQUFBO0FBQ3RELElBQVcsS0FBQSxNQUFBLEtBQUEsSUFBUyxLQUFLLGdCQUFrQixFQUFBO0FBQ3ZDLE1BQUEsTUFBQSxDQUFPLFlBQVksS0FBSyxDQUFBLENBQUE7QUFBQSxLQUM1QjtBQUFBLEdBQ0o7QUFBQSxFQUVPLFlBQVksTUFBbUMsRUFBQTtBQUNsRCxJQUFLLElBQUEsQ0FBQSx1QkFBQSxHQUEwQixPQUFPLFdBQVksRUFBQSxDQUFBO0FBQ2xELElBQUssSUFBQSxDQUFBLHdCQUFBLEdBQTJCLE9BQU8sUUFBUyxFQUFBLENBQUE7QUFDaEQsSUFBQSxJQUFBLENBQUssY0FBY0Msa0JBQWUsQ0FBQSxjQUFBLENBQWUsTUFBUSxFQUFBRCxhQUFBLENBQVUsZUFBZSxJQUFJLENBQUEsQ0FBQTtBQUN0RixJQUFNLE1BQUEsc0JBQUEsR0FBeUIsT0FBTyxpQkFBa0IsRUFBQSxDQUFBO0FBQ3hELElBQUEsS0FBQSxJQUFTLENBQUksR0FBQSxDQUFBLEVBQUcsQ0FBSSxHQUFBLHNCQUFBLEVBQXdCLENBQUssRUFBQSxFQUFBO0FBQzdDLE1BQUEsSUFBQSxDQUFLLGdCQUFpQixDQUFBLElBQUEsQ0FBSyxNQUFPLENBQUEsVUFBQSxFQUFZLENBQUEsQ0FBQTtBQUFBLEtBQ2xEO0FBQ0EsSUFBTSxNQUFBLHNCQUFBLEdBQXlCLE9BQU8saUJBQWtCLEVBQUEsQ0FBQTtBQUN4RCxJQUFBLEtBQUEsSUFBUyxDQUFJLEdBQUEsQ0FBQSxFQUFHLENBQUksR0FBQSxzQkFBQSxFQUF3QixDQUFLLEVBQUEsRUFBQTtBQUM3QyxNQUFBLElBQUEsQ0FBSyxnQkFBaUIsQ0FBQSxJQUFBLENBQUssTUFBTyxDQUFBLFVBQUEsRUFBWSxDQUFBLENBQUE7QUFBQSxLQUNsRDtBQUFBLEdBQ0o7QUFDSjs7OzsifQ==
|