@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.
Files changed (98) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/LICENSE +373 -0
  3. package/README.md +1 -0
  4. package/dist/NetworkBinaryStream.cjs.js +62 -0
  5. package/dist/NetworkBinaryStream.d.ts +41 -0
  6. package/dist/NetworkBinaryStream.d.ts.map +1 -0
  7. package/dist/NetworkBinaryStream.es.js +54 -0
  8. package/dist/NetworkPacket.cjs.js +67 -0
  9. package/dist/NetworkPacket.d.ts +52 -0
  10. package/dist/NetworkPacket.d.ts.map +1 -0
  11. package/dist/NetworkPacket.es.js +63 -0
  12. package/dist/NetworkStructure.cjs.js +21 -0
  13. package/dist/NetworkStructure.d.ts +28 -0
  14. package/dist/NetworkStructure.d.ts.map +1 -0
  15. package/dist/NetworkStructure.es.js +17 -0
  16. package/dist/PacketIdentifier.cjs.js +32 -0
  17. package/dist/PacketIdentifier.d.ts +29 -0
  18. package/dist/PacketIdentifier.d.ts.map +1 -0
  19. package/dist/PacketIdentifier.es.js +28 -0
  20. package/dist/index-CBOzHDCh.js +41 -0
  21. package/dist/index-C_fFd6lC.cjs +43 -0
  22. package/dist/index.cjs.js +55 -0
  23. package/dist/index.d.ts +9 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.es.js +26 -0
  26. package/dist/structure/ActorLink.cjs.js +33 -0
  27. package/dist/structure/ActorLink.d.ts +17 -0
  28. package/dist/structure/ActorLink.d.ts.map +1 -0
  29. package/dist/structure/ActorLink.es.js +29 -0
  30. package/dist/structure/BlockPos.cjs.js +31 -0
  31. package/dist/structure/BlockPos.d.ts +20 -0
  32. package/dist/structure/BlockPos.d.ts.map +1 -0
  33. package/dist/structure/BlockPos.es.js +27 -0
  34. package/dist/structure/ChunkPos.cjs.js +24 -0
  35. package/dist/structure/ChunkPos.d.ts +14 -0
  36. package/dist/structure/ChunkPos.d.ts.map +1 -0
  37. package/dist/structure/ChunkPos.es.js +20 -0
  38. package/dist/structure/DataItem.cjs.js +94 -0
  39. package/dist/structure/DataItem.d.ts +19 -0
  40. package/dist/structure/DataItem.d.ts.map +1 -0
  41. package/dist/structure/DataItem.es.js +90 -0
  42. package/dist/structure/Experiments.cjs.js +27 -0
  43. package/dist/structure/Experiments.d.ts +14 -0
  44. package/dist/structure/Experiments.d.ts.map +1 -0
  45. package/dist/structure/Experiments.es.js +23 -0
  46. package/dist/structure/ItemData.cjs.js +27 -0
  47. package/dist/structure/ItemData.d.ts +15 -0
  48. package/dist/structure/ItemData.d.ts.map +1 -0
  49. package/dist/structure/ItemData.es.js +23 -0
  50. package/dist/structure/ItemInstanceUserData.cjs.js +59 -0
  51. package/dist/structure/ItemInstanceUserData.d.ts +32 -0
  52. package/dist/structure/ItemInstanceUserData.d.ts.map +1 -0
  53. package/dist/structure/ItemInstanceUserData.es.js +55 -0
  54. package/dist/structure/LevelSettings.cjs.js +178 -0
  55. package/dist/structure/LevelSettings.d.ts +122 -0
  56. package/dist/structure/LevelSettings.d.ts.map +1 -0
  57. package/dist/structure/LevelSettings.es.js +170 -0
  58. package/dist/structure/NetworkItemStackDescriptor.cjs.js +47 -0
  59. package/dist/structure/NetworkItemStackDescriptor.d.ts +25 -0
  60. package/dist/structure/NetworkItemStackDescriptor.d.ts.map +1 -0
  61. package/dist/structure/NetworkItemStackDescriptor.es.js +43 -0
  62. package/dist/structure/PropertySyncData.cjs.js +31 -0
  63. package/dist/structure/PropertySyncData.d.ts +19 -0
  64. package/dist/structure/PropertySyncData.d.ts.map +1 -0
  65. package/dist/structure/PropertySyncData.es.js +27 -0
  66. package/dist/structure/SerializedAbilitiesData.cjs.js +39 -0
  67. package/dist/structure/SerializedAbilitiesData.d.ts +14 -0
  68. package/dist/structure/SerializedAbilitiesData.d.ts.map +1 -0
  69. package/dist/structure/SerializedAbilitiesData.es.js +35 -0
  70. package/dist/structure/SerializedAbilityLayer.cjs.js +33 -0
  71. package/dist/structure/SerializedAbilityLayer.d.ts +17 -0
  72. package/dist/structure/SerializedAbilityLayer.d.ts.map +1 -0
  73. package/dist/structure/SerializedAbilityLayer.es.js +29 -0
  74. package/dist/structure/SpawnSettings.cjs.js +25 -0
  75. package/dist/structure/SpawnSettings.d.ts +16 -0
  76. package/dist/structure/SpawnSettings.d.ts.map +1 -0
  77. package/dist/structure/SpawnSettings.es.js +21 -0
  78. package/dist/structure/SyncedPlayerMovementSettings.cjs.js +27 -0
  79. package/dist/structure/SyncedPlayerMovementSettings.d.ts +16 -0
  80. package/dist/structure/SyncedPlayerMovementSettings.d.ts.map +1 -0
  81. package/dist/structure/SyncedPlayerMovementSettings.es.js +23 -0
  82. package/dist/structure/UUID.cjs.js +24 -0
  83. package/dist/structure/UUID.d.ts +10 -0
  84. package/dist/structure/UUID.d.ts.map +1 -0
  85. package/dist/structure/UUID.es.js +20 -0
  86. package/dist/structure/Vec2.cjs.js +37 -0
  87. package/dist/structure/Vec2.d.ts +28 -0
  88. package/dist/structure/Vec2.d.ts.map +1 -0
  89. package/dist/structure/Vec2.es.js +33 -0
  90. package/dist/structure/Vec3.cjs.js +40 -0
  91. package/dist/structure/Vec3.d.ts +28 -0
  92. package/dist/structure/Vec3.d.ts.map +1 -0
  93. package/dist/structure/Vec3.es.js +36 -0
  94. package/dist/structure/index.cjs.js +45 -0
  95. package/dist/structure/index.d.ts +20 -0
  96. package/dist/structure/index.d.ts.map +1 -0
  97. package/dist/structure/index.es.js +21 -0
  98. 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==