@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,32 @@
|
|
|
1
|
+
import { NBTTagCompound } from '@jsprismarine/nbt';
|
|
2
|
+
import { NetworkBinaryStream, NetworkStructure } from '../';
|
|
3
|
+
|
|
4
|
+
interface ItemInstanceUserDataConfig {
|
|
5
|
+
canPlaceOnBlocks?: Array<string>;
|
|
6
|
+
canDestroyBlocks?: Array<string>;
|
|
7
|
+
dataSerializationVersion?: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Represents a network structure of a item instance user data.
|
|
11
|
+
* {@link https://mojang.github.io/bedrock-protocol-docs/html/ItemInstanceUserData.html}
|
|
12
|
+
*/
|
|
13
|
+
export default class ItemInstanceUserData extends NetworkStructure {
|
|
14
|
+
dataSerializationMarker: number;
|
|
15
|
+
userDataTag: NBTTagCompound;
|
|
16
|
+
canPlaceOnBlocks: Array<string>;
|
|
17
|
+
canDestroyBlocks: Array<string>;
|
|
18
|
+
dataSerializationVersion: number;
|
|
19
|
+
private readonly CURRENT_ENCODE_VERSION;
|
|
20
|
+
/**
|
|
21
|
+
* Creates a new instance of the ItemInstanceUserData class.
|
|
22
|
+
* @param dataSerializationMarker - The data serialization marker.
|
|
23
|
+
* @param dataSerializationVersion - The data serialization version.
|
|
24
|
+
* @param userDataTag - The user nbt data tag.
|
|
25
|
+
* @param config - The configuration options for the user data.
|
|
26
|
+
*/
|
|
27
|
+
constructor(dataSerializationMarker: number, userDataTag: NBTTagCompound, config?: ItemInstanceUserDataConfig);
|
|
28
|
+
serialize(stream: NetworkBinaryStream): void;
|
|
29
|
+
deserialize(stream: NetworkBinaryStream): void;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=ItemInstanceUserData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemInstanceUserData.d.ts","sourceRoot":"","sources":["../../src/structure/ItemInstanceUserData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAa,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE9D,UAAU,0BAA0B;IAChC,gBAAgB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,gBAAgB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,gBAAgB;IAiBnD,uBAAuB,EAAE,MAAM;IAC/B,WAAW,EAAE,cAAc;IAhB/B,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEhC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,wBAAwB,EAAE,MAAM,CAAC;IAExC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAK;IAE5C;;;;;;OAMG;gBAEQ,uBAAuB,EAAE,MAAM,EAC/B,WAAW,EAAE,cAAc,EAClC,MAAM,GAAE,0BAA+B;IAQpC,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAc5C,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;CAaxD"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import NetworkStructure from '../NetworkStructure.es.js';
|
|
2
|
+
import { ByteOrder, NBTTagCompound } from '@jsprismarine/nbt';
|
|
3
|
+
|
|
4
|
+
class ItemInstanceUserData extends NetworkStructure {
|
|
5
|
+
/**
|
|
6
|
+
* Creates a new instance of the ItemInstanceUserData class.
|
|
7
|
+
* @param dataSerializationMarker - The data serialization marker.
|
|
8
|
+
* @param dataSerializationVersion - The data serialization version.
|
|
9
|
+
* @param userDataTag - The user nbt data tag.
|
|
10
|
+
* @param config - The configuration options for the user data.
|
|
11
|
+
*/
|
|
12
|
+
constructor(dataSerializationMarker, userDataTag, config = {}) {
|
|
13
|
+
super();
|
|
14
|
+
this.dataSerializationMarker = dataSerializationMarker;
|
|
15
|
+
this.userDataTag = userDataTag;
|
|
16
|
+
this.canPlaceOnBlocks = config.canPlaceOnBlocks ?? [];
|
|
17
|
+
this.canDestroyBlocks = config.canDestroyBlocks ?? [];
|
|
18
|
+
this.dataSerializationVersion = config.dataSerializationVersion ?? this.CURRENT_ENCODE_VERSION;
|
|
19
|
+
}
|
|
20
|
+
// Blocks that the item can be placed on.
|
|
21
|
+
canPlaceOnBlocks;
|
|
22
|
+
// Blocks that the item can destroy.
|
|
23
|
+
canDestroyBlocks;
|
|
24
|
+
dataSerializationVersion;
|
|
25
|
+
CURRENT_ENCODE_VERSION = 1;
|
|
26
|
+
serialize(stream) {
|
|
27
|
+
stream.writeShortLE(this.dataSerializationMarker);
|
|
28
|
+
stream.writeByte(this.dataSerializationVersion);
|
|
29
|
+
this.userDataTag.writeToStream(stream, ByteOrder.LITTLE_ENDIAN, true);
|
|
30
|
+
stream.writeUnsignedIntLE(this.canPlaceOnBlocks.length);
|
|
31
|
+
for (const block of this.canPlaceOnBlocks) {
|
|
32
|
+
stream.writeString(block);
|
|
33
|
+
}
|
|
34
|
+
stream.writeUnsignedIntLE(this.canDestroyBlocks.length);
|
|
35
|
+
for (const block of this.canDestroyBlocks) {
|
|
36
|
+
stream.writeString(block);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
deserialize(stream) {
|
|
40
|
+
this.dataSerializationMarker = stream.readShortLE();
|
|
41
|
+
this.dataSerializationVersion = stream.readByte();
|
|
42
|
+
this.userDataTag = NBTTagCompound.readFromStream(stream, ByteOrder.LITTLE_ENDIAN, true);
|
|
43
|
+
const canPlaceOnBlocksLength = stream.readUnsignedIntLE();
|
|
44
|
+
for (let i = 0; i < canPlaceOnBlocksLength; i++) {
|
|
45
|
+
this.canPlaceOnBlocks.push(stream.readString());
|
|
46
|
+
}
|
|
47
|
+
const canDestroyBlocksLength = stream.readUnsignedIntLE();
|
|
48
|
+
for (let i = 0; i < canDestroyBlocksLength; i++) {
|
|
49
|
+
this.canDestroyBlocks.push(stream.readString());
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export { ItemInstanceUserData as default };
|
|
55
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXRlbUluc3RhbmNlVXNlckRhdGEuZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJ1Y3R1cmUvSXRlbUluc3RhbmNlVXNlckRhdGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOZXR3b3JrQmluYXJ5U3RyZWFtIH0gZnJvbSAnLi4vJztcbmltcG9ydCB7IE5ldHdvcmtTdHJ1Y3R1cmUgfSBmcm9tICcuLi8nO1xuaW1wb3J0IHsgQnl0ZU9yZGVyLCBOQlRUYWdDb21wb3VuZCB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvbmJ0JztcblxuaW50ZXJmYWNlIEl0ZW1JbnN0YW5jZVVzZXJEYXRhQ29uZmlnIHtcbiAgICBjYW5QbGFjZU9uQmxvY2tzPzogQXJyYXk8c3RyaW5nPjtcbiAgICBjYW5EZXN0cm95QmxvY2tzPzogQXJyYXk8c3RyaW5nPjtcbiAgICBkYXRhU2VyaWFsaXphdGlvblZlcnNpb24/OiBudW1iZXI7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG5ldHdvcmsgc3RydWN0dXJlIG9mIGEgaXRlbSBpbnN0YW5jZSB1c2VyIGRhdGEuXG4gKiB7QGxpbmsgaHR0cHM6Ly9tb2phbmcuZ2l0aHViLmlvL2JlZHJvY2stcHJvdG9jb2wtZG9jcy9odG1sL0l0ZW1JbnN0YW5jZVVzZXJEYXRhLmh0bWx9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEl0ZW1JbnN0YW5jZVVzZXJEYXRhIGV4dGVuZHMgTmV0d29ya1N0cnVjdHVyZSB7XG4gICAgLy8gQmxvY2tzIHRoYXQgdGhlIGl0ZW0gY2FuIGJlIHBsYWNlZCBvbi5cbiAgICBwdWJsaWMgY2FuUGxhY2VPbkJsb2NrczogQXJyYXk8c3RyaW5nPjtcbiAgICAvLyBCbG9ja3MgdGhhdCB0aGUgaXRlbSBjYW4gZGVzdHJveS5cbiAgICBwdWJsaWMgY2FuRGVzdHJveUJsb2NrczogQXJyYXk8c3RyaW5nPjtcbiAgICBwdWJsaWMgZGF0YVNlcmlhbGl6YXRpb25WZXJzaW9uOiBudW1iZXI7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IENVUlJFTlRfRU5DT0RFX1ZFUlNJT04gPSAxO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgSXRlbUluc3RhbmNlVXNlckRhdGEgY2xhc3MuXG4gICAgICogQHBhcmFtIGRhdGFTZXJpYWxpemF0aW9uTWFya2VyIC0gVGhlIGRhdGEgc2VyaWFsaXphdGlvbiBtYXJrZXIuXG4gICAgICogQHBhcmFtIGRhdGFTZXJpYWxpemF0aW9uVmVyc2lvbiAtIFRoZSBkYXRhIHNlcmlhbGl6YXRpb24gdmVyc2lvbi5cbiAgICAgKiBAcGFyYW0gdXNlckRhdGFUYWcgLSBUaGUgdXNlciBuYnQgZGF0YSB0YWcuXG4gICAgICogQHBhcmFtIGNvbmZpZyAtIFRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSB1c2VyIGRhdGEuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZGF0YVNlcmlhbGl6YXRpb25NYXJrZXI6IG51bWJlcixcbiAgICAgICAgcHVibGljIHVzZXJEYXRhVGFnOiBOQlRUYWdDb21wb3VuZCxcbiAgICAgICAgY29uZmlnOiBJdGVtSW5zdGFuY2VVc2VyRGF0YUNvbmZpZyA9IHt9XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuY2FuUGxhY2VPbkJsb2NrcyA9IGNvbmZpZy5jYW5QbGFjZU9uQmxvY2tzID8/IFtdO1xuICAgICAgICB0aGlzLmNhbkRlc3Ryb3lCbG9ja3MgPSBjb25maWcuY2FuRGVzdHJveUJsb2NrcyA/PyBbXTtcbiAgICAgICAgdGhpcy5kYXRhU2VyaWFsaXphdGlvblZlcnNpb24gPSBjb25maWcuZGF0YVNlcmlhbGl6YXRpb25WZXJzaW9uID8/IHRoaXMuQ1VSUkVOVF9FTkNPREVfVkVSU0lPTjtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VyaWFsaXplKHN0cmVhbTogTmV0d29ya0JpbmFyeVN0cmVhbSk6IHZvaWQge1xuICAgICAgICBzdHJlYW0ud3JpdGVTaG9ydExFKHRoaXMuZGF0YVNlcmlhbGl6YXRpb25NYXJrZXIpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCeXRlKHRoaXMuZGF0YVNlcmlhbGl6YXRpb25WZXJzaW9uKTtcbiAgICAgICAgdGhpcy51c2VyRGF0YVRhZy53cml0ZVRvU3RyZWFtKHN0cmVhbSwgQnl0ZU9yZGVyLkxJVFRMRV9FTkRJQU4sIHRydWUpO1xuICAgICAgICBzdHJlYW0ud3JpdGVVbnNpZ25lZEludExFKHRoaXMuY2FuUGxhY2VPbkJsb2Nrcy5sZW5ndGgpO1xuICAgICAgICBmb3IgKGNvbnN0IGJsb2NrIG9mIHRoaXMuY2FuUGxhY2VPbkJsb2Nrcykge1xuICAgICAgICAgICAgc3RyZWFtLndyaXRlU3RyaW5nKGJsb2NrKTtcbiAgICAgICAgfVxuICAgICAgICBzdHJlYW0ud3JpdGVVbnNpZ25lZEludExFKHRoaXMuY2FuRGVzdHJveUJsb2Nrcy5sZW5ndGgpO1xuICAgICAgICBmb3IgKGNvbnN0IGJsb2NrIG9mIHRoaXMuY2FuRGVzdHJveUJsb2Nrcykge1xuICAgICAgICAgICAgc3RyZWFtLndyaXRlU3RyaW5nKGJsb2NrKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBkZXNlcmlhbGl6ZShzdHJlYW06IE5ldHdvcmtCaW5hcnlTdHJlYW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhU2VyaWFsaXphdGlvbk1hcmtlciA9IHN0cmVhbS5yZWFkU2hvcnRMRSgpO1xuICAgICAgICB0aGlzLmRhdGFTZXJpYWxpemF0aW9uVmVyc2lvbiA9IHN0cmVhbS5yZWFkQnl0ZSgpO1xuICAgICAgICB0aGlzLnVzZXJEYXRhVGFnID0gTkJUVGFnQ29tcG91bmQucmVhZEZyb21TdHJlYW0oc3RyZWFtLCBCeXRlT3JkZXIuTElUVExFX0VORElBTiwgdHJ1ZSk7XG4gICAgICAgIGNvbnN0IGNhblBsYWNlT25CbG9ja3NMZW5ndGggPSBzdHJlYW0ucmVhZFVuc2lnbmVkSW50TEUoKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYW5QbGFjZU9uQmxvY2tzTGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMuY2FuUGxhY2VPbkJsb2Nrcy5wdXNoKHN0cmVhbS5yZWFkU3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNhbkRlc3Ryb3lCbG9ja3NMZW5ndGggPSBzdHJlYW0ucmVhZFVuc2lnbmVkSW50TEUoKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYW5EZXN0cm95QmxvY2tzTGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMuY2FuRGVzdHJveUJsb2Nrcy5wdXNoKHN0cmVhbS5yZWFkU3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWNBLE1BQXFCLDZCQUE2QixnQkFBaUIsQ0FBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFnQnhELFdBQ0ksQ0FBQSx1QkFBQSxFQUNBLFdBQ1AsRUFBQSxNQUFBLEdBQXFDLEVBQ3ZDLEVBQUE7QUFDRSxJQUFNLEtBQUEsRUFBQSxDQUFBO0FBSkMsSUFBQSxJQUFBLENBQUEsdUJBQUEsR0FBQSx1QkFBQSxDQUFBO0FBQ0EsSUFBQSxJQUFBLENBQUEsV0FBQSxHQUFBLFdBQUEsQ0FBQTtBQUlQLElBQUssSUFBQSxDQUFBLGdCQUFBLEdBQW1CLE1BQU8sQ0FBQSxnQkFBQSxJQUFvQixFQUFDLENBQUE7QUFDcEQsSUFBSyxJQUFBLENBQUEsZ0JBQUEsR0FBbUIsTUFBTyxDQUFBLGdCQUFBLElBQW9CLEVBQUMsQ0FBQTtBQUNwRCxJQUFLLElBQUEsQ0FBQSx3QkFBQSxHQUEyQixNQUFPLENBQUEsd0JBQUEsSUFBNEIsSUFBSyxDQUFBLHNCQUFBLENBQUE7QUFBQSxHQUM1RTtBQUFBO0FBQUEsRUF2Qk8sZ0JBQUEsQ0FBQTtBQUFBO0FBQUEsRUFFQSxnQkFBQSxDQUFBO0FBQUEsRUFDQSx3QkFBQSxDQUFBO0FBQUEsRUFFVSxzQkFBeUIsR0FBQSxDQUFBLENBQUE7QUFBQSxFQW9CbkMsVUFBVSxNQUFtQyxFQUFBO0FBQ2hELElBQU8sTUFBQSxDQUFBLFlBQUEsQ0FBYSxLQUFLLHVCQUF1QixDQUFBLENBQUE7QUFDaEQsSUFBTyxNQUFBLENBQUEsU0FBQSxDQUFVLEtBQUssd0JBQXdCLENBQUEsQ0FBQTtBQUM5QyxJQUFBLElBQUEsQ0FBSyxXQUFZLENBQUEsYUFBQSxDQUFjLE1BQVEsRUFBQSxTQUFBLENBQVUsZUFBZSxJQUFJLENBQUEsQ0FBQTtBQUNwRSxJQUFPLE1BQUEsQ0FBQSxrQkFBQSxDQUFtQixJQUFLLENBQUEsZ0JBQUEsQ0FBaUIsTUFBTSxDQUFBLENBQUE7QUFDdEQsSUFBVyxLQUFBLE1BQUEsS0FBQSxJQUFTLEtBQUssZ0JBQWtCLEVBQUE7QUFDdkMsTUFBQSxNQUFBLENBQU8sWUFBWSxLQUFLLENBQUEsQ0FBQTtBQUFBLEtBQzVCO0FBQ0EsSUFBTyxNQUFBLENBQUEsa0JBQUEsQ0FBbUIsSUFBSyxDQUFBLGdCQUFBLENBQWlCLE1BQU0sQ0FBQSxDQUFBO0FBQ3RELElBQVcsS0FBQSxNQUFBLEtBQUEsSUFBUyxLQUFLLGdCQUFrQixFQUFBO0FBQ3ZDLE1BQUEsTUFBQSxDQUFPLFlBQVksS0FBSyxDQUFBLENBQUE7QUFBQSxLQUM1QjtBQUFBLEdBQ0o7QUFBQSxFQUVPLFlBQVksTUFBbUMsRUFBQTtBQUNsRCxJQUFLLElBQUEsQ0FBQSx1QkFBQSxHQUEwQixPQUFPLFdBQVksRUFBQSxDQUFBO0FBQ2xELElBQUssSUFBQSxDQUFBLHdCQUFBLEdBQTJCLE9BQU8sUUFBUyxFQUFBLENBQUE7QUFDaEQsSUFBQSxJQUFBLENBQUssY0FBYyxjQUFlLENBQUEsY0FBQSxDQUFlLE1BQVEsRUFBQSxTQUFBLENBQVUsZUFBZSxJQUFJLENBQUEsQ0FBQTtBQUN0RixJQUFNLE1BQUEsc0JBQUEsR0FBeUIsT0FBTyxpQkFBa0IsRUFBQSxDQUFBO0FBQ3hELElBQUEsS0FBQSxJQUFTLENBQUksR0FBQSxDQUFBLEVBQUcsQ0FBSSxHQUFBLHNCQUFBLEVBQXdCLENBQUssRUFBQSxFQUFBO0FBQzdDLE1BQUEsSUFBQSxDQUFLLGdCQUFpQixDQUFBLElBQUEsQ0FBSyxNQUFPLENBQUEsVUFBQSxFQUFZLENBQUEsQ0FBQTtBQUFBLEtBQ2xEO0FBQ0EsSUFBTSxNQUFBLHNCQUFBLEdBQXlCLE9BQU8saUJBQWtCLEVBQUEsQ0FBQTtBQUN4RCxJQUFBLEtBQUEsSUFBUyxDQUFJLEdBQUEsQ0FBQSxFQUFHLENBQUksR0FBQSxzQkFBQSxFQUF3QixDQUFLLEVBQUEsRUFBQTtBQUM3QyxNQUFBLElBQUEsQ0FBSyxnQkFBaUIsQ0FBQSxJQUFBLENBQUssTUFBTyxDQUFBLFVBQUEsRUFBWSxDQUFBLENBQUE7QUFBQSxLQUNsRDtBQUFBLEdBQ0o7QUFDSjs7OzsifQ==
|
|
@@ -0,0 +1,178 @@
|
|
|
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 structure_Experiments = require('./Experiments.cjs.js');
|
|
7
|
+
const minecraft = require('@jsprismarine/minecraft');
|
|
8
|
+
|
|
9
|
+
var EditorWorldType = /* @__PURE__ */ ((EditorWorldType2) => {
|
|
10
|
+
EditorWorldType2[EditorWorldType2["NON_EDITOR"] = 0] = "NON_EDITOR";
|
|
11
|
+
EditorWorldType2[EditorWorldType2["EDITOR_PROJECT"] = 1] = "EDITOR_PROJECT";
|
|
12
|
+
EditorWorldType2[EditorWorldType2["EDITOR_TEST_LEVEL"] = 2] = "EDITOR_TEST_LEVEL";
|
|
13
|
+
return EditorWorldType2;
|
|
14
|
+
})(EditorWorldType || {});
|
|
15
|
+
var EducationEditionOffer = /* @__PURE__ */ ((EducationEditionOffer2) => {
|
|
16
|
+
EducationEditionOffer2[EducationEditionOffer2["NONE"] = 0] = "NONE";
|
|
17
|
+
EducationEditionOffer2[EducationEditionOffer2["REST_OF_WORLD"] = 1] = "REST_OF_WORLD";
|
|
18
|
+
EducationEditionOffer2[EducationEditionOffer2["CHINA_DEPRECATED"] = 2] = "CHINA_DEPRECATED";
|
|
19
|
+
return EducationEditionOffer2;
|
|
20
|
+
})(EducationEditionOffer || {});
|
|
21
|
+
var SocialGamePublishSettings = /* @__PURE__ */ ((SocialGamePublishSettings2) => {
|
|
22
|
+
SocialGamePublishSettings2[SocialGamePublishSettings2["NO_MULTI_PLAY"] = 0] = "NO_MULTI_PLAY";
|
|
23
|
+
SocialGamePublishSettings2[SocialGamePublishSettings2["INVITE_ONLY"] = 1] = "INVITE_ONLY";
|
|
24
|
+
SocialGamePublishSettings2[SocialGamePublishSettings2["FRIENDS_ONLY"] = 2] = "FRIENDS_ONLY";
|
|
25
|
+
SocialGamePublishSettings2[SocialGamePublishSettings2["PUBLIC"] = 3] = "PUBLIC";
|
|
26
|
+
return SocialGamePublishSettings2;
|
|
27
|
+
})(SocialGamePublishSettings || {});
|
|
28
|
+
var ChatRestrictionLevel = /* @__PURE__ */ ((ChatRestrictionLevel2) => {
|
|
29
|
+
ChatRestrictionLevel2[ChatRestrictionLevel2["NONE"] = 0] = "NONE";
|
|
30
|
+
ChatRestrictionLevel2[ChatRestrictionLevel2["DROPPED"] = 1] = "DROPPED";
|
|
31
|
+
ChatRestrictionLevel2[ChatRestrictionLevel2["DISABLED"] = 2] = "DISABLED";
|
|
32
|
+
return ChatRestrictionLevel2;
|
|
33
|
+
})(ChatRestrictionLevel || {});
|
|
34
|
+
class LevelSettings extends NetworkStructure.default {
|
|
35
|
+
constructor(seed, spawnSettings, difficulty, defaultSpawnPos, dayCycleStopTime, rainLevel, lightningLevel, commandsEnabled, gamerules, playerPermissions, config = {}) {
|
|
36
|
+
super();
|
|
37
|
+
this.seed = seed;
|
|
38
|
+
this.spawnSettings = spawnSettings;
|
|
39
|
+
this.difficulty = difficulty;
|
|
40
|
+
this.defaultSpawnPos = defaultSpawnPos;
|
|
41
|
+
this.dayCycleStopTime = dayCycleStopTime;
|
|
42
|
+
this.rainLevel = rainLevel;
|
|
43
|
+
this.lightningLevel = lightningLevel;
|
|
44
|
+
this.commandsEnabled = commandsEnabled;
|
|
45
|
+
this.gamerules = gamerules;
|
|
46
|
+
this.playerPermissions = playerPermissions;
|
|
47
|
+
this.gamemode = config.gamemode ?? minecraft.Gamemode.Gametype.WORLD_DEFAULT;
|
|
48
|
+
this.baseGameVersion = config.baseGameVersion ?? "*";
|
|
49
|
+
this.generator = config.generator ?? minecraft.Generator.OVERWORLD;
|
|
50
|
+
this.achievementsDisabled = config.achievementsDisabled ?? false;
|
|
51
|
+
this.editorWorldType = config.editorWorldType ?? 0 /* NON_EDITOR */;
|
|
52
|
+
this.createdInEditor = config.createdInEditor ?? false;
|
|
53
|
+
this.exportedFromEditor = config.exportedFromEditor ?? false;
|
|
54
|
+
this.eduEditionOffer = config.eduEditionOffer ?? 0 /* NONE */;
|
|
55
|
+
this.eduFeaturesEnabled = config.eduFeaturesEnabled ?? false;
|
|
56
|
+
this.eduProductId = config.eduProductId ?? "";
|
|
57
|
+
this.confirmedPlatformLockedContent = config.confirmedPlatformLockedContent ?? false;
|
|
58
|
+
this.xblBroadcastSettings = config.xblBroadcastSettings ?? 3 /* PUBLIC */;
|
|
59
|
+
this.platformBroadcastSettings = config.platformBroadcastSettings ?? 3 /* PUBLIC */;
|
|
60
|
+
this.texturePacksRequired = config.texturePacksRequired ?? false;
|
|
61
|
+
this.serverChunkTickRange = config.serverChunkTickRange ?? 4;
|
|
62
|
+
this.lockedBehaviorPack = config.lockedBehaviorPack ?? false;
|
|
63
|
+
this.lockedResourcePack = config.lockedResourcePack ?? false;
|
|
64
|
+
this.fromLockedWorldTemplate = config.fromLockedWorldTemplate ?? false;
|
|
65
|
+
this.onlyMsaGamertags = config.onlyMsaGamertags ?? false;
|
|
66
|
+
this.onlySpawningV1Villagers = config.onlySpawningV1Villagers ?? false;
|
|
67
|
+
this.personaDisabled = config.personaDisabled ?? false;
|
|
68
|
+
this.customSkinDisabled = config.customSkinDisabled ?? false;
|
|
69
|
+
this.emoteChatMuted = config.emoteChatMuted ?? false;
|
|
70
|
+
this.limitedWorldWidth = config.limitedWorldWidth ?? 0;
|
|
71
|
+
this.limitedWorldDepth = config.limitedWorldDepth ?? 0;
|
|
72
|
+
this.newNether = config.newNether ?? true;
|
|
73
|
+
this.eduSharedUriResource = config.eduSharedUriResource ?? { buttonName: "", linkUri: "" };
|
|
74
|
+
this.forceOverrideExperimentalGameplay = config.forceOverrideExperimentalGameplay ?? false;
|
|
75
|
+
this.chatRestrictionLevel = config.chatRestrictionLevel ?? 0 /* NONE */;
|
|
76
|
+
this.disablePlayerInteractions = config.disablePlayerInteractions ?? false;
|
|
77
|
+
this.bonusChestEnabled = config.bonusChestEnabled ?? false;
|
|
78
|
+
this.startWithMapEnabled = config.startWithMapEnabled ?? false;
|
|
79
|
+
this.experiments = config.experiments ?? new structure_Experiments.default();
|
|
80
|
+
}
|
|
81
|
+
gamemode;
|
|
82
|
+
generator;
|
|
83
|
+
achievementsDisabled;
|
|
84
|
+
editorWorldType;
|
|
85
|
+
createdInEditor;
|
|
86
|
+
exportedFromEditor;
|
|
87
|
+
eduEditionOffer;
|
|
88
|
+
eduFeaturesEnabled;
|
|
89
|
+
eduProductId;
|
|
90
|
+
confirmedPlatformLockedContent;
|
|
91
|
+
multiplayerGame = true;
|
|
92
|
+
broadcastToLAN = true;
|
|
93
|
+
xblBroadcastSettings;
|
|
94
|
+
platformBroadcastSettings;
|
|
95
|
+
texturePacksRequired;
|
|
96
|
+
serverChunkTickRange;
|
|
97
|
+
lockedBehaviorPack;
|
|
98
|
+
lockedResourcePack;
|
|
99
|
+
fromLockedWorldTemplate;
|
|
100
|
+
onlyMsaGamertags;
|
|
101
|
+
createdFromWorldTemplate = false;
|
|
102
|
+
worldTemplateOptionLocked = false;
|
|
103
|
+
onlySpawningV1Villagers;
|
|
104
|
+
personaDisabled;
|
|
105
|
+
customSkinDisabled;
|
|
106
|
+
emoteChatMuted;
|
|
107
|
+
baseGameVersion;
|
|
108
|
+
limitedWorldWidth;
|
|
109
|
+
limitedWorldDepth;
|
|
110
|
+
newNether;
|
|
111
|
+
eduSharedUriResource;
|
|
112
|
+
forceOverrideExperimentalGameplay;
|
|
113
|
+
chatRestrictionLevel;
|
|
114
|
+
disablePlayerInteractions;
|
|
115
|
+
bonusChestEnabled;
|
|
116
|
+
startWithMapEnabled;
|
|
117
|
+
experiments;
|
|
118
|
+
serialize(stream) {
|
|
119
|
+
stream.writeLongLE(this.seed);
|
|
120
|
+
this.spawnSettings.serialize(stream);
|
|
121
|
+
stream.writeVarInt(this.generator);
|
|
122
|
+
stream.writeVarInt(this.gamemode);
|
|
123
|
+
stream.writeVarInt(this.difficulty);
|
|
124
|
+
this.defaultSpawnPos.serialize(stream);
|
|
125
|
+
stream.writeBoolean(this.achievementsDisabled);
|
|
126
|
+
stream.writeVarInt(this.editorWorldType);
|
|
127
|
+
stream.writeBoolean(this.createdInEditor);
|
|
128
|
+
stream.writeBoolean(this.exportedFromEditor);
|
|
129
|
+
stream.writeVarInt(this.dayCycleStopTime);
|
|
130
|
+
stream.writeVarInt(this.eduEditionOffer);
|
|
131
|
+
stream.writeBoolean(this.eduFeaturesEnabled);
|
|
132
|
+
stream.writeString(this.eduProductId);
|
|
133
|
+
stream.writeFloatLE(this.rainLevel);
|
|
134
|
+
stream.writeFloatLE(this.lightningLevel);
|
|
135
|
+
stream.writeBoolean(this.confirmedPlatformLockedContent);
|
|
136
|
+
stream.writeBoolean(this.multiplayerGame);
|
|
137
|
+
stream.writeBoolean(this.broadcastToLAN);
|
|
138
|
+
stream.writeVarInt(this.xblBroadcastSettings);
|
|
139
|
+
stream.writeVarInt(this.platformBroadcastSettings);
|
|
140
|
+
stream.writeBoolean(this.commandsEnabled);
|
|
141
|
+
stream.writeBoolean(this.texturePacksRequired);
|
|
142
|
+
stream.writeUnsignedVarInt(this.gamerules.size);
|
|
143
|
+
this.experiments.serialize(stream);
|
|
144
|
+
stream.writeBoolean(this.bonusChestEnabled);
|
|
145
|
+
stream.writeBoolean(this.startWithMapEnabled);
|
|
146
|
+
stream.writeByte(this.playerPermissions);
|
|
147
|
+
stream.writeIntLE(this.serverChunkTickRange);
|
|
148
|
+
stream.writeBoolean(this.lockedBehaviorPack);
|
|
149
|
+
stream.writeBoolean(this.lockedResourcePack);
|
|
150
|
+
stream.writeBoolean(this.fromLockedWorldTemplate);
|
|
151
|
+
stream.writeBoolean(this.onlyMsaGamertags);
|
|
152
|
+
stream.writeBoolean(this.createdFromWorldTemplate);
|
|
153
|
+
stream.writeBoolean(this.worldTemplateOptionLocked);
|
|
154
|
+
stream.writeBoolean(this.onlySpawningV1Villagers);
|
|
155
|
+
stream.writeBoolean(this.personaDisabled);
|
|
156
|
+
stream.writeBoolean(this.customSkinDisabled);
|
|
157
|
+
stream.writeBoolean(this.emoteChatMuted);
|
|
158
|
+
stream.writeString(this.baseGameVersion);
|
|
159
|
+
stream.writeIntLE(this.limitedWorldWidth);
|
|
160
|
+
stream.writeIntLE(this.limitedWorldDepth);
|
|
161
|
+
stream.writeBoolean(this.newNether);
|
|
162
|
+
stream.writeString(this.eduSharedUriResource.buttonName);
|
|
163
|
+
stream.writeString(this.eduSharedUriResource.linkUri);
|
|
164
|
+
stream.writeBoolean(this.forceOverrideExperimentalGameplay);
|
|
165
|
+
stream.writeByte(this.chatRestrictionLevel);
|
|
166
|
+
stream.writeBoolean(this.disablePlayerInteractions);
|
|
167
|
+
}
|
|
168
|
+
deserialize(stream) {
|
|
169
|
+
throw new Error("Method not implemented.");
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
exports.ChatRestrictionLevel = ChatRestrictionLevel;
|
|
174
|
+
exports.EditorWorldType = EditorWorldType;
|
|
175
|
+
exports.EducationEditionOffer = EducationEditionOffer;
|
|
176
|
+
exports.SocialGamePublishSettings = SocialGamePublishSettings;
|
|
177
|
+
exports.default = LevelSettings;
|
|
178
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGV2ZWxTZXR0aW5ncy5janMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJ1Y3R1cmUvTGV2ZWxTZXR0aW5ncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBTcGF3blNldHRpbmdzIGZyb20gJy4vU3Bhd25TZXR0aW5ncyc7XG5pbXBvcnQgdHlwZSB7IEJsb2NrUG9zLCBOZXR3b3JrQmluYXJ5U3RyZWFtIH0gZnJvbSAnLi4vJztcbmltcG9ydCB7IEV4cGVyaW1lbnRzLCBOZXR3b3JrU3RydWN0dXJlIH0gZnJvbSAnLi4vJztcbmltcG9ydCB0eXBlIHsgRGlmZmljdWx0eSwgUGxheWVyUGVybWlzc2lvbkxldmVsIH0gZnJvbSAnQGpzcHJpc21hcmluZS9taW5lY3JhZnQnO1xuaW1wb3J0IHsgR2FtZW1vZGUsIEdlbmVyYXRvciB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvbWluZWNyYWZ0JztcblxuZXhwb3J0IGVudW0gRWRpdG9yV29ybGRUeXBlIHtcbiAgICBOT05fRURJVE9SLFxuICAgIEVESVRPUl9QUk9KRUNULFxuICAgIEVESVRPUl9URVNUX0xFVkVMXG59XG5cbmV4cG9ydCBlbnVtIEVkdWNhdGlvbkVkaXRpb25PZmZlciB7XG4gICAgTk9ORSxcbiAgICBSRVNUX09GX1dPUkxELFxuICAgIENISU5BX0RFUFJFQ0FURURcbn1cblxuZXhwb3J0IGVudW0gU29jaWFsR2FtZVB1Ymxpc2hTZXR0aW5ncyB7XG4gICAgTk9fTVVMVElfUExBWSxcbiAgICBJTlZJVEVfT05MWSxcbiAgICBGUklFTkRTX09OTFksXG4gICAgUFVCTElDXG59XG5cbmV4cG9ydCBlbnVtIENoYXRSZXN0cmljdGlvbkxldmVsIHtcbiAgICBOT05FLFxuICAgIERST1BQRUQsXG4gICAgRElTQUJMRURcbn1cblxuaW50ZXJmYWNlIEVkdVNoYXJlZFVyaVJlc291cmNlIHtcbiAgICBidXR0b25OYW1lOiBzdHJpbmc7XG4gICAgbGlua1VyaTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgTGV2ZWxTZXR0aW5nc0NvbmZpZyB7XG4gICAgZ2FtZW1vZGU/OiBudW1iZXI7XG4gICAgYmFzZUdhbWVWZXJzaW9uPzogc3RyaW5nO1xuICAgIGdlbmVyYXRvcj86IEdlbmVyYXRvcjtcbiAgICBhY2hpZXZlbWVudHNEaXNhYmxlZD86IGJvb2xlYW47XG4gICAgZWRpdG9yV29ybGRUeXBlPzogRWRpdG9yV29ybGRUeXBlO1xuICAgIGNyZWF0ZWRJbkVkaXRvcj86IGJvb2xlYW47XG4gICAgZXhwb3J0ZWRGcm9tRWRpdG9yPzogYm9vbGVhbjtcbiAgICBlZHVFZGl0aW9uT2ZmZXI/OiBFZHVjYXRpb25FZGl0aW9uT2ZmZXI7XG4gICAgZWR1RmVhdHVyZXNFbmFibGVkPzogYm9vbGVhbjtcbiAgICBlZHVQcm9kdWN0SWQ/OiBzdHJpbmc7XG4gICAgY29uZmlybWVkUGxhdGZvcm1Mb2NrZWRDb250ZW50PzogYm9vbGVhbjtcbiAgICB4YmxCcm9hZGNhc3RTZXR0aW5ncz86IFNvY2lhbEdhbWVQdWJsaXNoU2V0dGluZ3M7XG4gICAgcGxhdGZvcm1Ccm9hZGNhc3RTZXR0aW5ncz86IFNvY2lhbEdhbWVQdWJsaXNoU2V0dGluZ3M7XG4gICAgdGV4dHVyZVBhY2tzUmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIHNlcnZlckNodW5rVGlja1JhbmdlPzogbnVtYmVyO1xuICAgIGxvY2tlZEJlaGF2aW9yUGFjaz86IGJvb2xlYW47XG4gICAgbG9ja2VkUmVzb3VyY2VQYWNrPzogYm9vbGVhbjtcbiAgICBmcm9tTG9ja2VkV29ybGRUZW1wbGF0ZT86IGJvb2xlYW47XG4gICAgb25seU1zYUdhbWVydGFncz86IGJvb2xlYW47XG4gICAgb25seVNwYXduaW5nVjFWaWxsYWdlcnM/OiBib29sZWFuO1xuICAgIHBlcnNvbmFEaXNhYmxlZD86IGJvb2xlYW47XG4gICAgY3VzdG9tU2tpbkRpc2FibGVkPzogYm9vbGVhbjtcbiAgICBlbW90ZUNoYXRNdXRlZD86IGJvb2xlYW47XG4gICAgbGltaXRlZFdvcmxkV2lkdGg/OiBudW1iZXI7XG4gICAgbGltaXRlZFdvcmxkRGVwdGg/OiBudW1iZXI7XG4gICAgbmV3TmV0aGVyPzogYm9vbGVhbjtcbiAgICBlZHVTaGFyZWRVcmlSZXNvdXJjZT86IEVkdVNoYXJlZFVyaVJlc291cmNlO1xuICAgIGZvcmNlT3ZlcnJpZGVFeHBlcmltZW50YWxHYW1lcGxheT86IGJvb2xlYW47XG4gICAgY2hhdFJlc3RyaWN0aW9uTGV2ZWw/OiBDaGF0UmVzdHJpY3Rpb25MZXZlbDtcbiAgICBkaXNhYmxlUGxheWVySW50ZXJhY3Rpb25zPzogYm9vbGVhbjtcbiAgICBib251c0NoZXN0RW5hYmxlZD86IGJvb2xlYW47XG4gICAgc3RhcnRXaXRoTWFwRW5hYmxlZD86IGJvb2xlYW47XG4gICAgZXhwZXJpbWVudHM/OiBFeHBlcmltZW50cztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBuZXR3b3JrIHN0cnVjdHVyZSBvZiB0aGUgc2V0dGluZ3Mgb2YgYSBsZXZlbC5cbiAqIHtAbGluayBodHRwczovL21vamFuZy5naXRodWIuaW8vYmVkcm9jay1wcm90b2NvbC1kb2NzL2h0bWwvTGV2ZWxTZXR0aW5ncy5odG1sfVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMZXZlbFNldHRpbmdzIGV4dGVuZHMgTmV0d29ya1N0cnVjdHVyZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBnYW1lbW9kZTogR2FtZW1vZGUuR2FtZXR5cGU7XG4gICAgcHJpdmF0ZSByZWFkb25seSBnZW5lcmF0b3I6IEdlbmVyYXRvcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjaGlldmVtZW50c0Rpc2FibGVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWRpdG9yV29ybGRUeXBlOiBFZGl0b3JXb3JsZFR5cGU7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjcmVhdGVkSW5FZGl0b3I6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBleHBvcnRlZEZyb21FZGl0b3I6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBlZHVFZGl0aW9uT2ZmZXI6IEVkdWNhdGlvbkVkaXRpb25PZmZlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVkdUZlYXR1cmVzRW5hYmxlZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVkdVByb2R1Y3RJZDogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlybWVkUGxhdGZvcm1Mb2NrZWRDb250ZW50OiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbXVsdGlwbGF5ZXJHYW1lID0gdHJ1ZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyb2FkY2FzdFRvTEFOID0gdHJ1ZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHhibEJyb2FkY2FzdFNldHRpbmdzOiBTb2NpYWxHYW1lUHVibGlzaFNldHRpbmdzO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1Ccm9hZGNhc3RTZXR0aW5nczogU29jaWFsR2FtZVB1Ymxpc2hTZXR0aW5ncztcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHR1cmVQYWNrc1JlcXVpcmVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VydmVyQ2h1bmtUaWNrUmFuZ2U6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2tlZEJlaGF2aW9yUGFjazogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2tlZFJlc291cmNlUGFjazogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZyb21Mb2NrZWRXb3JsZFRlbXBsYXRlOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb25seU1zYUdhbWVydGFnczogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNyZWF0ZWRGcm9tV29ybGRUZW1wbGF0ZSA9IGZhbHNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgd29ybGRUZW1wbGF0ZU9wdGlvbkxvY2tlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb25seVNwYXduaW5nVjFWaWxsYWdlcnM6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBwZXJzb25hRGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBjdXN0b21Ta2luRGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbW90ZUNoYXRNdXRlZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJhc2VHYW1lVmVyc2lvbjogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbGltaXRlZFdvcmxkV2lkdGg6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbWl0ZWRXb3JsZERlcHRoOiBudW1iZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXdOZXRoZXI6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBlZHVTaGFyZWRVcmlSZXNvdXJjZTogRWR1U2hhcmVkVXJpUmVzb3VyY2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JjZU92ZXJyaWRlRXhwZXJpbWVudGFsR2FtZXBsYXk6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGF0UmVzdHJpY3Rpb25MZXZlbDogQ2hhdFJlc3RyaWN0aW9uTGV2ZWw7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkaXNhYmxlUGxheWVySW50ZXJhY3Rpb25zOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYm9udXNDaGVzdEVuYWJsZWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGFydFdpdGhNYXBFbmFibGVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZXhwZXJpbWVudHM6IEV4cGVyaW1lbnRzO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNlZWQ6IGJpZ2ludCxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzcGF3blNldHRpbmdzOiBTcGF3blNldHRpbmdzLFxuICAgICAgICBwcml2YXRlIGRpZmZpY3VsdHk6IERpZmZpY3VsdHksXG4gICAgICAgIHByaXZhdGUgZGVmYXVsdFNwYXduUG9zOiBCbG9ja1BvcyxcbiAgICAgICAgcHJpdmF0ZSBkYXlDeWNsZVN0b3BUaW1lOiBudW1iZXIsXG4gICAgICAgIHByaXZhdGUgcmFpbkxldmVsOiBudW1iZXIsXG4gICAgICAgIHByaXZhdGUgbGlnaHRuaW5nTGV2ZWw6IG51bWJlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kc0VuYWJsZWQ6IGJvb2xlYW4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZ2FtZXJ1bGVzOiBTZXQ8e30+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBsYXllclBlcm1pc3Npb25zOiBQbGF5ZXJQZXJtaXNzaW9uTGV2ZWwsXG4gICAgICAgIGNvbmZpZzogTGV2ZWxTZXR0aW5nc0NvbmZpZyA9IHt9XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZ2FtZW1vZGUgPSBjb25maWcuZ2FtZW1vZGUgPz8gR2FtZW1vZGUuR2FtZXR5cGUuV09STERfREVGQVVMVDtcbiAgICAgICAgdGhpcy5iYXNlR2FtZVZlcnNpb24gPSBjb25maWcuYmFzZUdhbWVWZXJzaW9uID8/ICcqJztcbiAgICAgICAgdGhpcy5nZW5lcmF0b3IgPSBjb25maWcuZ2VuZXJhdG9yID8/IEdlbmVyYXRvci5PVkVSV09STEQ7XG4gICAgICAgIHRoaXMuYWNoaWV2ZW1lbnRzRGlzYWJsZWQgPSBjb25maWcuYWNoaWV2ZW1lbnRzRGlzYWJsZWQgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuZWRpdG9yV29ybGRUeXBlID0gY29uZmlnLmVkaXRvcldvcmxkVHlwZSA/PyBFZGl0b3JXb3JsZFR5cGUuTk9OX0VESVRPUjtcbiAgICAgICAgdGhpcy5jcmVhdGVkSW5FZGl0b3IgPSBjb25maWcuY3JlYXRlZEluRWRpdG9yID8/IGZhbHNlO1xuICAgICAgICB0aGlzLmV4cG9ydGVkRnJvbUVkaXRvciA9IGNvbmZpZy5leHBvcnRlZEZyb21FZGl0b3IgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuZWR1RWRpdGlvbk9mZmVyID0gY29uZmlnLmVkdUVkaXRpb25PZmZlciA/PyBFZHVjYXRpb25FZGl0aW9uT2ZmZXIuTk9ORTtcbiAgICAgICAgdGhpcy5lZHVGZWF0dXJlc0VuYWJsZWQgPSBjb25maWcuZWR1RmVhdHVyZXNFbmFibGVkID8/IGZhbHNlO1xuICAgICAgICB0aGlzLmVkdVByb2R1Y3RJZCA9IGNvbmZpZy5lZHVQcm9kdWN0SWQgPz8gJyc7XG4gICAgICAgIHRoaXMuY29uZmlybWVkUGxhdGZvcm1Mb2NrZWRDb250ZW50ID0gY29uZmlnLmNvbmZpcm1lZFBsYXRmb3JtTG9ja2VkQ29udGVudCA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy54YmxCcm9hZGNhc3RTZXR0aW5ncyA9IGNvbmZpZy54YmxCcm9hZGNhc3RTZXR0aW5ncyA/PyBTb2NpYWxHYW1lUHVibGlzaFNldHRpbmdzLlBVQkxJQztcbiAgICAgICAgdGhpcy5wbGF0Zm9ybUJyb2FkY2FzdFNldHRpbmdzID0gY29uZmlnLnBsYXRmb3JtQnJvYWRjYXN0U2V0dGluZ3MgPz8gU29jaWFsR2FtZVB1Ymxpc2hTZXR0aW5ncy5QVUJMSUM7XG4gICAgICAgIHRoaXMudGV4dHVyZVBhY2tzUmVxdWlyZWQgPSBjb25maWcudGV4dHVyZVBhY2tzUmVxdWlyZWQgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VydmVyQ2h1bmtUaWNrUmFuZ2UgPSBjb25maWcuc2VydmVyQ2h1bmtUaWNrUmFuZ2UgPz8gNDtcbiAgICAgICAgdGhpcy5sb2NrZWRCZWhhdmlvclBhY2sgPSBjb25maWcubG9ja2VkQmVoYXZpb3JQYWNrID8/IGZhbHNlO1xuICAgICAgICB0aGlzLmxvY2tlZFJlc291cmNlUGFjayA9IGNvbmZpZy5sb2NrZWRSZXNvdXJjZVBhY2sgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuZnJvbUxvY2tlZFdvcmxkVGVtcGxhdGUgPSBjb25maWcuZnJvbUxvY2tlZFdvcmxkVGVtcGxhdGUgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMub25seU1zYUdhbWVydGFncyA9IGNvbmZpZy5vbmx5TXNhR2FtZXJ0YWdzID8/IGZhbHNlO1xuICAgICAgICB0aGlzLm9ubHlTcGF3bmluZ1YxVmlsbGFnZXJzID0gY29uZmlnLm9ubHlTcGF3bmluZ1YxVmlsbGFnZXJzID8/IGZhbHNlO1xuICAgICAgICB0aGlzLnBlcnNvbmFEaXNhYmxlZCA9IGNvbmZpZy5wZXJzb25hRGlzYWJsZWQgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuY3VzdG9tU2tpbkRpc2FibGVkID0gY29uZmlnLmN1c3RvbVNraW5EaXNhYmxlZCA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5lbW90ZUNoYXRNdXRlZCA9IGNvbmZpZy5lbW90ZUNoYXRNdXRlZCA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5saW1pdGVkV29ybGRXaWR0aCA9IGNvbmZpZy5saW1pdGVkV29ybGRXaWR0aCA/PyAwO1xuICAgICAgICB0aGlzLmxpbWl0ZWRXb3JsZERlcHRoID0gY29uZmlnLmxpbWl0ZWRXb3JsZERlcHRoID8/IDA7XG4gICAgICAgIHRoaXMubmV3TmV0aGVyID0gY29uZmlnLm5ld05ldGhlciA/PyB0cnVlO1xuICAgICAgICB0aGlzLmVkdVNoYXJlZFVyaVJlc291cmNlID0gY29uZmlnLmVkdVNoYXJlZFVyaVJlc291cmNlID8/IHsgYnV0dG9uTmFtZTogJycsIGxpbmtVcmk6ICcnIH07XG4gICAgICAgIHRoaXMuZm9yY2VPdmVycmlkZUV4cGVyaW1lbnRhbEdhbWVwbGF5ID0gY29uZmlnLmZvcmNlT3ZlcnJpZGVFeHBlcmltZW50YWxHYW1lcGxheSA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5jaGF0UmVzdHJpY3Rpb25MZXZlbCA9IGNvbmZpZy5jaGF0UmVzdHJpY3Rpb25MZXZlbCA/PyBDaGF0UmVzdHJpY3Rpb25MZXZlbC5OT05FO1xuICAgICAgICB0aGlzLmRpc2FibGVQbGF5ZXJJbnRlcmFjdGlvbnMgPSBjb25maWcuZGlzYWJsZVBsYXllckludGVyYWN0aW9ucyA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5ib251c0NoZXN0RW5hYmxlZCA9IGNvbmZpZy5ib251c0NoZXN0RW5hYmxlZCA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5zdGFydFdpdGhNYXBFbmFibGVkID0gY29uZmlnLnN0YXJ0V2l0aE1hcEVuYWJsZWQgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuZXhwZXJpbWVudHMgPSBjb25maWcuZXhwZXJpbWVudHMgPz8gbmV3IEV4cGVyaW1lbnRzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlcmlhbGl6ZShzdHJlYW06IE5ldHdvcmtCaW5hcnlTdHJlYW0pOiB2b2lkIHtcbiAgICAgICAgc3RyZWFtLndyaXRlTG9uZ0xFKHRoaXMuc2VlZCk7XG4gICAgICAgIHRoaXMuc3Bhd25TZXR0aW5ncy5zZXJpYWxpemUoc3RyZWFtKTtcbiAgICAgICAgc3RyZWFtLndyaXRlVmFySW50KHRoaXMuZ2VuZXJhdG9yKTtcbiAgICAgICAgc3RyZWFtLndyaXRlVmFySW50KHRoaXMuZ2FtZW1vZGUpO1xuICAgICAgICBzdHJlYW0ud3JpdGVWYXJJbnQodGhpcy5kaWZmaWN1bHR5KTtcbiAgICAgICAgdGhpcy5kZWZhdWx0U3Bhd25Qb3Muc2VyaWFsaXplKHN0cmVhbSk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5hY2hpZXZlbWVudHNEaXNhYmxlZCk7XG4gICAgICAgIHN0cmVhbS53cml0ZVZhckludCh0aGlzLmVkaXRvcldvcmxkVHlwZSk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5jcmVhdGVkSW5FZGl0b3IpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCb29sZWFuKHRoaXMuZXhwb3J0ZWRGcm9tRWRpdG9yKTtcbiAgICAgICAgc3RyZWFtLndyaXRlVmFySW50KHRoaXMuZGF5Q3ljbGVTdG9wVGltZSk7XG4gICAgICAgIHN0cmVhbS53cml0ZVZhckludCh0aGlzLmVkdUVkaXRpb25PZmZlcik7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5lZHVGZWF0dXJlc0VuYWJsZWQpO1xuICAgICAgICBzdHJlYW0ud3JpdGVTdHJpbmcodGhpcy5lZHVQcm9kdWN0SWQpO1xuICAgICAgICBzdHJlYW0ud3JpdGVGbG9hdExFKHRoaXMucmFpbkxldmVsKTtcbiAgICAgICAgc3RyZWFtLndyaXRlRmxvYXRMRSh0aGlzLmxpZ2h0bmluZ0xldmVsKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLmNvbmZpcm1lZFBsYXRmb3JtTG9ja2VkQ29udGVudCk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5tdWx0aXBsYXllckdhbWUpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCb29sZWFuKHRoaXMuYnJvYWRjYXN0VG9MQU4pO1xuICAgICAgICBzdHJlYW0ud3JpdGVWYXJJbnQodGhpcy54YmxCcm9hZGNhc3RTZXR0aW5ncyk7XG4gICAgICAgIHN0cmVhbS53cml0ZVZhckludCh0aGlzLnBsYXRmb3JtQnJvYWRjYXN0U2V0dGluZ3MpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCb29sZWFuKHRoaXMuY29tbWFuZHNFbmFibGVkKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLnRleHR1cmVQYWNrc1JlcXVpcmVkKTtcbiAgICAgICAgLy8gVE9ETzogSW1wbGVtZW50IGdhbWVydWxlIGNsYXNzICYgc2VyaWFsaXphdGlvblxuICAgICAgICBzdHJlYW0ud3JpdGVVbnNpZ25lZFZhckludCh0aGlzLmdhbWVydWxlcy5zaXplKTtcbiAgICAgICAgdGhpcy5leHBlcmltZW50cy5zZXJpYWxpemUoc3RyZWFtKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLmJvbnVzQ2hlc3RFbmFibGVkKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLnN0YXJ0V2l0aE1hcEVuYWJsZWQpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCeXRlKHRoaXMucGxheWVyUGVybWlzc2lvbnMpO1xuICAgICAgICBzdHJlYW0ud3JpdGVJbnRMRSh0aGlzLnNlcnZlckNodW5rVGlja1JhbmdlKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLmxvY2tlZEJlaGF2aW9yUGFjayk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5sb2NrZWRSZXNvdXJjZVBhY2spO1xuICAgICAgICBzdHJlYW0ud3JpdGVCb29sZWFuKHRoaXMuZnJvbUxvY2tlZFdvcmxkVGVtcGxhdGUpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCb29sZWFuKHRoaXMub25seU1zYUdhbWVydGFncyk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5jcmVhdGVkRnJvbVdvcmxkVGVtcGxhdGUpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCb29sZWFuKHRoaXMud29ybGRUZW1wbGF0ZU9wdGlvbkxvY2tlZCk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5vbmx5U3Bhd25pbmdWMVZpbGxhZ2Vycyk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5wZXJzb25hRGlzYWJsZWQpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCb29sZWFuKHRoaXMuY3VzdG9tU2tpbkRpc2FibGVkKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLmVtb3RlQ2hhdE11dGVkKTtcbiAgICAgICAgc3RyZWFtLndyaXRlU3RyaW5nKHRoaXMuYmFzZUdhbWVWZXJzaW9uKTtcbiAgICAgICAgc3RyZWFtLndyaXRlSW50TEUodGhpcy5saW1pdGVkV29ybGRXaWR0aCk7XG4gICAgICAgIHN0cmVhbS53cml0ZUludExFKHRoaXMubGltaXRlZFdvcmxkRGVwdGgpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCb29sZWFuKHRoaXMubmV3TmV0aGVyKTtcbiAgICAgICAgc3RyZWFtLndyaXRlU3RyaW5nKHRoaXMuZWR1U2hhcmVkVXJpUmVzb3VyY2UuYnV0dG9uTmFtZSk7XG4gICAgICAgIHN0cmVhbS53cml0ZVN0cmluZyh0aGlzLmVkdVNoYXJlZFVyaVJlc291cmNlLmxpbmtVcmkpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCb29sZWFuKHRoaXMuZm9yY2VPdmVycmlkZUV4cGVyaW1lbnRhbEdhbWVwbGF5KTtcbiAgICAgICAgc3RyZWFtLndyaXRlQnl0ZSh0aGlzLmNoYXRSZXN0cmljdGlvbkxldmVsKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLmRpc2FibGVQbGF5ZXJJbnRlcmFjdGlvbnMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXNlcmlhbGl6ZShzdHJlYW06IE5ldHdvcmtCaW5hcnlTdHJlYW0pOiB2b2lkIHtcbiAgICAgICAgdm9pZCBzdHJlYW07XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgICB9XG59XG4iXSwibmFtZXMiOlsiRWRpdG9yV29ybGRUeXBlIiwiRWR1Y2F0aW9uRWRpdGlvbk9mZmVyIiwiU29jaWFsR2FtZVB1Ymxpc2hTZXR0aW5ncyIsIkNoYXRSZXN0cmljdGlvbkxldmVsIiwiTmV0d29ya1N0cnVjdHVyZSIsIkdhbWVtb2RlIiwiR2VuZXJhdG9yIiwiRXhwZXJpbWVudHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBTVksSUFBQSxlQUFBLHFCQUFBQSxnQkFBTCxLQUFBO0FBQ0gsRUFBQUEsZ0JBQUEsQ0FBQSxnQkFBQSxDQUFBLFlBQUEsQ0FBQSxHQUFBLENBQUEsQ0FBQSxHQUFBLFlBQUEsQ0FBQTtBQUNBLEVBQUFBLGdCQUFBLENBQUEsZ0JBQUEsQ0FBQSxnQkFBQSxDQUFBLEdBQUEsQ0FBQSxDQUFBLEdBQUEsZ0JBQUEsQ0FBQTtBQUNBLEVBQUFBLGdCQUFBLENBQUEsZ0JBQUEsQ0FBQSxtQkFBQSxDQUFBLEdBQUEsQ0FBQSxDQUFBLEdBQUEsbUJBQUEsQ0FBQTtBQUhRLEVBQUFBLE9BQUFBLGdCQUFBQSxDQUFBQTtBQUFBLENB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
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { Difficulty, PlayerPermissionLevel, Generator } from '@jsprismarine/minecraft';
|
|
2
|
+
import { BlockPos, NetworkBinaryStream, Experiments, NetworkStructure } from '../';
|
|
3
|
+
import { default as SpawnSettings } from './SpawnSettings';
|
|
4
|
+
|
|
5
|
+
export declare enum EditorWorldType {
|
|
6
|
+
NON_EDITOR = 0,
|
|
7
|
+
EDITOR_PROJECT = 1,
|
|
8
|
+
EDITOR_TEST_LEVEL = 2
|
|
9
|
+
}
|
|
10
|
+
export declare enum EducationEditionOffer {
|
|
11
|
+
NONE = 0,
|
|
12
|
+
REST_OF_WORLD = 1,
|
|
13
|
+
CHINA_DEPRECATED = 2
|
|
14
|
+
}
|
|
15
|
+
export declare enum SocialGamePublishSettings {
|
|
16
|
+
NO_MULTI_PLAY = 0,
|
|
17
|
+
INVITE_ONLY = 1,
|
|
18
|
+
FRIENDS_ONLY = 2,
|
|
19
|
+
PUBLIC = 3
|
|
20
|
+
}
|
|
21
|
+
export declare enum ChatRestrictionLevel {
|
|
22
|
+
NONE = 0,
|
|
23
|
+
DROPPED = 1,
|
|
24
|
+
DISABLED = 2
|
|
25
|
+
}
|
|
26
|
+
interface EduSharedUriResource {
|
|
27
|
+
buttonName: string;
|
|
28
|
+
linkUri: string;
|
|
29
|
+
}
|
|
30
|
+
interface LevelSettingsConfig {
|
|
31
|
+
gamemode?: number;
|
|
32
|
+
baseGameVersion?: string;
|
|
33
|
+
generator?: Generator;
|
|
34
|
+
achievementsDisabled?: boolean;
|
|
35
|
+
editorWorldType?: EditorWorldType;
|
|
36
|
+
createdInEditor?: boolean;
|
|
37
|
+
exportedFromEditor?: boolean;
|
|
38
|
+
eduEditionOffer?: EducationEditionOffer;
|
|
39
|
+
eduFeaturesEnabled?: boolean;
|
|
40
|
+
eduProductId?: string;
|
|
41
|
+
confirmedPlatformLockedContent?: boolean;
|
|
42
|
+
xblBroadcastSettings?: SocialGamePublishSettings;
|
|
43
|
+
platformBroadcastSettings?: SocialGamePublishSettings;
|
|
44
|
+
texturePacksRequired?: boolean;
|
|
45
|
+
serverChunkTickRange?: number;
|
|
46
|
+
lockedBehaviorPack?: boolean;
|
|
47
|
+
lockedResourcePack?: boolean;
|
|
48
|
+
fromLockedWorldTemplate?: boolean;
|
|
49
|
+
onlyMsaGamertags?: boolean;
|
|
50
|
+
onlySpawningV1Villagers?: boolean;
|
|
51
|
+
personaDisabled?: boolean;
|
|
52
|
+
customSkinDisabled?: boolean;
|
|
53
|
+
emoteChatMuted?: boolean;
|
|
54
|
+
limitedWorldWidth?: number;
|
|
55
|
+
limitedWorldDepth?: number;
|
|
56
|
+
newNether?: boolean;
|
|
57
|
+
eduSharedUriResource?: EduSharedUriResource;
|
|
58
|
+
forceOverrideExperimentalGameplay?: boolean;
|
|
59
|
+
chatRestrictionLevel?: ChatRestrictionLevel;
|
|
60
|
+
disablePlayerInteractions?: boolean;
|
|
61
|
+
bonusChestEnabled?: boolean;
|
|
62
|
+
startWithMapEnabled?: boolean;
|
|
63
|
+
experiments?: Experiments;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Represents the network structure of the settings of a level.
|
|
67
|
+
* {@link https://mojang.github.io/bedrock-protocol-docs/html/LevelSettings.html}
|
|
68
|
+
*/
|
|
69
|
+
export default class LevelSettings extends NetworkStructure {
|
|
70
|
+
private readonly seed;
|
|
71
|
+
private readonly spawnSettings;
|
|
72
|
+
private difficulty;
|
|
73
|
+
private defaultSpawnPos;
|
|
74
|
+
private dayCycleStopTime;
|
|
75
|
+
private rainLevel;
|
|
76
|
+
private lightningLevel;
|
|
77
|
+
private readonly commandsEnabled;
|
|
78
|
+
private readonly gamerules;
|
|
79
|
+
private readonly playerPermissions;
|
|
80
|
+
private readonly gamemode;
|
|
81
|
+
private readonly generator;
|
|
82
|
+
private readonly achievementsDisabled;
|
|
83
|
+
private readonly editorWorldType;
|
|
84
|
+
private readonly createdInEditor;
|
|
85
|
+
private readonly exportedFromEditor;
|
|
86
|
+
private readonly eduEditionOffer;
|
|
87
|
+
private readonly eduFeaturesEnabled;
|
|
88
|
+
private readonly eduProductId;
|
|
89
|
+
private readonly confirmedPlatformLockedContent;
|
|
90
|
+
private readonly multiplayerGame;
|
|
91
|
+
private readonly broadcastToLAN;
|
|
92
|
+
private readonly xblBroadcastSettings;
|
|
93
|
+
private readonly platformBroadcastSettings;
|
|
94
|
+
private readonly texturePacksRequired;
|
|
95
|
+
private readonly serverChunkTickRange;
|
|
96
|
+
private readonly lockedBehaviorPack;
|
|
97
|
+
private readonly lockedResourcePack;
|
|
98
|
+
private readonly fromLockedWorldTemplate;
|
|
99
|
+
private readonly onlyMsaGamertags;
|
|
100
|
+
private readonly createdFromWorldTemplate;
|
|
101
|
+
private readonly worldTemplateOptionLocked;
|
|
102
|
+
private readonly onlySpawningV1Villagers;
|
|
103
|
+
private readonly personaDisabled;
|
|
104
|
+
private readonly customSkinDisabled;
|
|
105
|
+
private readonly emoteChatMuted;
|
|
106
|
+
private readonly baseGameVersion;
|
|
107
|
+
private readonly limitedWorldWidth;
|
|
108
|
+
private readonly limitedWorldDepth;
|
|
109
|
+
private readonly newNether;
|
|
110
|
+
private readonly eduSharedUriResource;
|
|
111
|
+
private readonly forceOverrideExperimentalGameplay;
|
|
112
|
+
private readonly chatRestrictionLevel;
|
|
113
|
+
private readonly disablePlayerInteractions;
|
|
114
|
+
private readonly bonusChestEnabled;
|
|
115
|
+
private readonly startWithMapEnabled;
|
|
116
|
+
private readonly experiments;
|
|
117
|
+
constructor(seed: bigint, spawnSettings: SpawnSettings, difficulty: Difficulty, defaultSpawnPos: BlockPos, dayCycleStopTime: number, rainLevel: number, lightningLevel: number, commandsEnabled: boolean, gamerules: Set<{}>, playerPermissions: PlayerPermissionLevel, config?: LevelSettingsConfig);
|
|
118
|
+
serialize(stream: NetworkBinaryStream): void;
|
|
119
|
+
deserialize(stream: NetworkBinaryStream): void;
|
|
120
|
+
}
|
|
121
|
+
export {};
|
|
122
|
+
//# sourceMappingURL=LevelSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LevelSettings.d.ts","sourceRoot":"","sources":["../../src/structure/LevelSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAY,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE9D,oBAAY,eAAe;IACvB,UAAU,IAAA;IACV,cAAc,IAAA;IACd,iBAAiB,IAAA;CACpB;AAED,oBAAY,qBAAqB;IAC7B,IAAI,IAAA;IACJ,aAAa,IAAA;IACb,gBAAgB,IAAA;CACnB;AAED,oBAAY,yBAAyB;IACjC,aAAa,IAAA;IACb,WAAW,IAAA;IACX,YAAY,IAAA;IACZ,MAAM,IAAA;CACT;AAED,oBAAY,oBAAoB;IAC5B,IAAI,IAAA;IACJ,OAAO,IAAA;IACP,QAAQ,IAAA;CACX;AAED,UAAU,oBAAoB;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,mBAAmB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,oBAAoB,CAAC,EAAE,yBAAyB,CAAC;IACjD,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,gBAAgB;IAwCnD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAhDtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IACxD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAU;IACzD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA4B;IACjE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA4B;IACtE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAU;IAClD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAS;IAClD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAS;IACnD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAU;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuB;IAC5D,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAU;IAC5D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuB;IAC5D,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAU;IACpD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IAC5C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;gBAGrB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,aAAa,EACrC,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,QAAQ,EACzB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACb,eAAe,EAAE,OAAO,EACxB,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,EAClB,iBAAiB,EAAE,qBAAqB,EACzD,MAAM,GAAE,mBAAwB;IAsC7B,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAoD5C,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;CAIxD"}
|