@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,170 @@
|
|
|
1
|
+
import NetworkStructure from '../NetworkStructure.es.js';
|
|
2
|
+
import Experiments from './Experiments.es.js';
|
|
3
|
+
import { Gamemode, Generator } from '@jsprismarine/minecraft';
|
|
4
|
+
|
|
5
|
+
var EditorWorldType = /* @__PURE__ */ ((EditorWorldType2) => {
|
|
6
|
+
EditorWorldType2[EditorWorldType2["NON_EDITOR"] = 0] = "NON_EDITOR";
|
|
7
|
+
EditorWorldType2[EditorWorldType2["EDITOR_PROJECT"] = 1] = "EDITOR_PROJECT";
|
|
8
|
+
EditorWorldType2[EditorWorldType2["EDITOR_TEST_LEVEL"] = 2] = "EDITOR_TEST_LEVEL";
|
|
9
|
+
return EditorWorldType2;
|
|
10
|
+
})(EditorWorldType || {});
|
|
11
|
+
var EducationEditionOffer = /* @__PURE__ */ ((EducationEditionOffer2) => {
|
|
12
|
+
EducationEditionOffer2[EducationEditionOffer2["NONE"] = 0] = "NONE";
|
|
13
|
+
EducationEditionOffer2[EducationEditionOffer2["REST_OF_WORLD"] = 1] = "REST_OF_WORLD";
|
|
14
|
+
EducationEditionOffer2[EducationEditionOffer2["CHINA_DEPRECATED"] = 2] = "CHINA_DEPRECATED";
|
|
15
|
+
return EducationEditionOffer2;
|
|
16
|
+
})(EducationEditionOffer || {});
|
|
17
|
+
var SocialGamePublishSettings = /* @__PURE__ */ ((SocialGamePublishSettings2) => {
|
|
18
|
+
SocialGamePublishSettings2[SocialGamePublishSettings2["NO_MULTI_PLAY"] = 0] = "NO_MULTI_PLAY";
|
|
19
|
+
SocialGamePublishSettings2[SocialGamePublishSettings2["INVITE_ONLY"] = 1] = "INVITE_ONLY";
|
|
20
|
+
SocialGamePublishSettings2[SocialGamePublishSettings2["FRIENDS_ONLY"] = 2] = "FRIENDS_ONLY";
|
|
21
|
+
SocialGamePublishSettings2[SocialGamePublishSettings2["PUBLIC"] = 3] = "PUBLIC";
|
|
22
|
+
return SocialGamePublishSettings2;
|
|
23
|
+
})(SocialGamePublishSettings || {});
|
|
24
|
+
var ChatRestrictionLevel = /* @__PURE__ */ ((ChatRestrictionLevel2) => {
|
|
25
|
+
ChatRestrictionLevel2[ChatRestrictionLevel2["NONE"] = 0] = "NONE";
|
|
26
|
+
ChatRestrictionLevel2[ChatRestrictionLevel2["DROPPED"] = 1] = "DROPPED";
|
|
27
|
+
ChatRestrictionLevel2[ChatRestrictionLevel2["DISABLED"] = 2] = "DISABLED";
|
|
28
|
+
return ChatRestrictionLevel2;
|
|
29
|
+
})(ChatRestrictionLevel || {});
|
|
30
|
+
class LevelSettings extends NetworkStructure {
|
|
31
|
+
constructor(seed, spawnSettings, difficulty, defaultSpawnPos, dayCycleStopTime, rainLevel, lightningLevel, commandsEnabled, gamerules, playerPermissions, config = {}) {
|
|
32
|
+
super();
|
|
33
|
+
this.seed = seed;
|
|
34
|
+
this.spawnSettings = spawnSettings;
|
|
35
|
+
this.difficulty = difficulty;
|
|
36
|
+
this.defaultSpawnPos = defaultSpawnPos;
|
|
37
|
+
this.dayCycleStopTime = dayCycleStopTime;
|
|
38
|
+
this.rainLevel = rainLevel;
|
|
39
|
+
this.lightningLevel = lightningLevel;
|
|
40
|
+
this.commandsEnabled = commandsEnabled;
|
|
41
|
+
this.gamerules = gamerules;
|
|
42
|
+
this.playerPermissions = playerPermissions;
|
|
43
|
+
this.gamemode = config.gamemode ?? Gamemode.Gametype.WORLD_DEFAULT;
|
|
44
|
+
this.baseGameVersion = config.baseGameVersion ?? "*";
|
|
45
|
+
this.generator = config.generator ?? Generator.OVERWORLD;
|
|
46
|
+
this.achievementsDisabled = config.achievementsDisabled ?? false;
|
|
47
|
+
this.editorWorldType = config.editorWorldType ?? 0 /* NON_EDITOR */;
|
|
48
|
+
this.createdInEditor = config.createdInEditor ?? false;
|
|
49
|
+
this.exportedFromEditor = config.exportedFromEditor ?? false;
|
|
50
|
+
this.eduEditionOffer = config.eduEditionOffer ?? 0 /* NONE */;
|
|
51
|
+
this.eduFeaturesEnabled = config.eduFeaturesEnabled ?? false;
|
|
52
|
+
this.eduProductId = config.eduProductId ?? "";
|
|
53
|
+
this.confirmedPlatformLockedContent = config.confirmedPlatformLockedContent ?? false;
|
|
54
|
+
this.xblBroadcastSettings = config.xblBroadcastSettings ?? 3 /* PUBLIC */;
|
|
55
|
+
this.platformBroadcastSettings = config.platformBroadcastSettings ?? 3 /* PUBLIC */;
|
|
56
|
+
this.texturePacksRequired = config.texturePacksRequired ?? false;
|
|
57
|
+
this.serverChunkTickRange = config.serverChunkTickRange ?? 4;
|
|
58
|
+
this.lockedBehaviorPack = config.lockedBehaviorPack ?? false;
|
|
59
|
+
this.lockedResourcePack = config.lockedResourcePack ?? false;
|
|
60
|
+
this.fromLockedWorldTemplate = config.fromLockedWorldTemplate ?? false;
|
|
61
|
+
this.onlyMsaGamertags = config.onlyMsaGamertags ?? false;
|
|
62
|
+
this.onlySpawningV1Villagers = config.onlySpawningV1Villagers ?? false;
|
|
63
|
+
this.personaDisabled = config.personaDisabled ?? false;
|
|
64
|
+
this.customSkinDisabled = config.customSkinDisabled ?? false;
|
|
65
|
+
this.emoteChatMuted = config.emoteChatMuted ?? false;
|
|
66
|
+
this.limitedWorldWidth = config.limitedWorldWidth ?? 0;
|
|
67
|
+
this.limitedWorldDepth = config.limitedWorldDepth ?? 0;
|
|
68
|
+
this.newNether = config.newNether ?? true;
|
|
69
|
+
this.eduSharedUriResource = config.eduSharedUriResource ?? { buttonName: "", linkUri: "" };
|
|
70
|
+
this.forceOverrideExperimentalGameplay = config.forceOverrideExperimentalGameplay ?? false;
|
|
71
|
+
this.chatRestrictionLevel = config.chatRestrictionLevel ?? 0 /* NONE */;
|
|
72
|
+
this.disablePlayerInteractions = config.disablePlayerInteractions ?? false;
|
|
73
|
+
this.bonusChestEnabled = config.bonusChestEnabled ?? false;
|
|
74
|
+
this.startWithMapEnabled = config.startWithMapEnabled ?? false;
|
|
75
|
+
this.experiments = config.experiments ?? new Experiments();
|
|
76
|
+
}
|
|
77
|
+
gamemode;
|
|
78
|
+
generator;
|
|
79
|
+
achievementsDisabled;
|
|
80
|
+
editorWorldType;
|
|
81
|
+
createdInEditor;
|
|
82
|
+
exportedFromEditor;
|
|
83
|
+
eduEditionOffer;
|
|
84
|
+
eduFeaturesEnabled;
|
|
85
|
+
eduProductId;
|
|
86
|
+
confirmedPlatformLockedContent;
|
|
87
|
+
multiplayerGame = true;
|
|
88
|
+
broadcastToLAN = true;
|
|
89
|
+
xblBroadcastSettings;
|
|
90
|
+
platformBroadcastSettings;
|
|
91
|
+
texturePacksRequired;
|
|
92
|
+
serverChunkTickRange;
|
|
93
|
+
lockedBehaviorPack;
|
|
94
|
+
lockedResourcePack;
|
|
95
|
+
fromLockedWorldTemplate;
|
|
96
|
+
onlyMsaGamertags;
|
|
97
|
+
createdFromWorldTemplate = false;
|
|
98
|
+
worldTemplateOptionLocked = false;
|
|
99
|
+
onlySpawningV1Villagers;
|
|
100
|
+
personaDisabled;
|
|
101
|
+
customSkinDisabled;
|
|
102
|
+
emoteChatMuted;
|
|
103
|
+
baseGameVersion;
|
|
104
|
+
limitedWorldWidth;
|
|
105
|
+
limitedWorldDepth;
|
|
106
|
+
newNether;
|
|
107
|
+
eduSharedUriResource;
|
|
108
|
+
forceOverrideExperimentalGameplay;
|
|
109
|
+
chatRestrictionLevel;
|
|
110
|
+
disablePlayerInteractions;
|
|
111
|
+
bonusChestEnabled;
|
|
112
|
+
startWithMapEnabled;
|
|
113
|
+
experiments;
|
|
114
|
+
serialize(stream) {
|
|
115
|
+
stream.writeLongLE(this.seed);
|
|
116
|
+
this.spawnSettings.serialize(stream);
|
|
117
|
+
stream.writeVarInt(this.generator);
|
|
118
|
+
stream.writeVarInt(this.gamemode);
|
|
119
|
+
stream.writeVarInt(this.difficulty);
|
|
120
|
+
this.defaultSpawnPos.serialize(stream);
|
|
121
|
+
stream.writeBoolean(this.achievementsDisabled);
|
|
122
|
+
stream.writeVarInt(this.editorWorldType);
|
|
123
|
+
stream.writeBoolean(this.createdInEditor);
|
|
124
|
+
stream.writeBoolean(this.exportedFromEditor);
|
|
125
|
+
stream.writeVarInt(this.dayCycleStopTime);
|
|
126
|
+
stream.writeVarInt(this.eduEditionOffer);
|
|
127
|
+
stream.writeBoolean(this.eduFeaturesEnabled);
|
|
128
|
+
stream.writeString(this.eduProductId);
|
|
129
|
+
stream.writeFloatLE(this.rainLevel);
|
|
130
|
+
stream.writeFloatLE(this.lightningLevel);
|
|
131
|
+
stream.writeBoolean(this.confirmedPlatformLockedContent);
|
|
132
|
+
stream.writeBoolean(this.multiplayerGame);
|
|
133
|
+
stream.writeBoolean(this.broadcastToLAN);
|
|
134
|
+
stream.writeVarInt(this.xblBroadcastSettings);
|
|
135
|
+
stream.writeVarInt(this.platformBroadcastSettings);
|
|
136
|
+
stream.writeBoolean(this.commandsEnabled);
|
|
137
|
+
stream.writeBoolean(this.texturePacksRequired);
|
|
138
|
+
stream.writeUnsignedVarInt(this.gamerules.size);
|
|
139
|
+
this.experiments.serialize(stream);
|
|
140
|
+
stream.writeBoolean(this.bonusChestEnabled);
|
|
141
|
+
stream.writeBoolean(this.startWithMapEnabled);
|
|
142
|
+
stream.writeByte(this.playerPermissions);
|
|
143
|
+
stream.writeIntLE(this.serverChunkTickRange);
|
|
144
|
+
stream.writeBoolean(this.lockedBehaviorPack);
|
|
145
|
+
stream.writeBoolean(this.lockedResourcePack);
|
|
146
|
+
stream.writeBoolean(this.fromLockedWorldTemplate);
|
|
147
|
+
stream.writeBoolean(this.onlyMsaGamertags);
|
|
148
|
+
stream.writeBoolean(this.createdFromWorldTemplate);
|
|
149
|
+
stream.writeBoolean(this.worldTemplateOptionLocked);
|
|
150
|
+
stream.writeBoolean(this.onlySpawningV1Villagers);
|
|
151
|
+
stream.writeBoolean(this.personaDisabled);
|
|
152
|
+
stream.writeBoolean(this.customSkinDisabled);
|
|
153
|
+
stream.writeBoolean(this.emoteChatMuted);
|
|
154
|
+
stream.writeString(this.baseGameVersion);
|
|
155
|
+
stream.writeIntLE(this.limitedWorldWidth);
|
|
156
|
+
stream.writeIntLE(this.limitedWorldDepth);
|
|
157
|
+
stream.writeBoolean(this.newNether);
|
|
158
|
+
stream.writeString(this.eduSharedUriResource.buttonName);
|
|
159
|
+
stream.writeString(this.eduSharedUriResource.linkUri);
|
|
160
|
+
stream.writeBoolean(this.forceOverrideExperimentalGameplay);
|
|
161
|
+
stream.writeByte(this.chatRestrictionLevel);
|
|
162
|
+
stream.writeBoolean(this.disablePlayerInteractions);
|
|
163
|
+
}
|
|
164
|
+
deserialize(stream) {
|
|
165
|
+
throw new Error("Method not implemented.");
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
export { ChatRestrictionLevel, EditorWorldType, EducationEditionOffer, SocialGamePublishSettings, LevelSettings as default };
|
|
170
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGV2ZWxTZXR0aW5ncy5lcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cnVjdHVyZS9MZXZlbFNldHRpbmdzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIFNwYXduU2V0dGluZ3MgZnJvbSAnLi9TcGF3blNldHRpbmdzJztcbmltcG9ydCB0eXBlIHsgQmxvY2tQb3MsIE5ldHdvcmtCaW5hcnlTdHJlYW0gfSBmcm9tICcuLi8nO1xuaW1wb3J0IHsgRXhwZXJpbWVudHMsIE5ldHdvcmtTdHJ1Y3R1cmUgfSBmcm9tICcuLi8nO1xuaW1wb3J0IHR5cGUgeyBEaWZmaWN1bHR5LCBQbGF5ZXJQZXJtaXNzaW9uTGV2ZWwgfSBmcm9tICdAanNwcmlzbWFyaW5lL21pbmVjcmFmdCc7XG5pbXBvcnQgeyBHYW1lbW9kZSwgR2VuZXJhdG9yIH0gZnJvbSAnQGpzcHJpc21hcmluZS9taW5lY3JhZnQnO1xuXG5leHBvcnQgZW51bSBFZGl0b3JXb3JsZFR5cGUge1xuICAgIE5PTl9FRElUT1IsXG4gICAgRURJVE9SX1BST0pFQ1QsXG4gICAgRURJVE9SX1RFU1RfTEVWRUxcbn1cblxuZXhwb3J0IGVudW0gRWR1Y2F0aW9uRWRpdGlvbk9mZmVyIHtcbiAgICBOT05FLFxuICAgIFJFU1RfT0ZfV09STEQsXG4gICAgQ0hJTkFfREVQUkVDQVRFRFxufVxuXG5leHBvcnQgZW51bSBTb2NpYWxHYW1lUHVibGlzaFNldHRpbmdzIHtcbiAgICBOT19NVUxUSV9QTEFZLFxuICAgIElOVklURV9PTkxZLFxuICAgIEZSSUVORFNfT05MWSxcbiAgICBQVUJMSUNcbn1cblxuZXhwb3J0IGVudW0gQ2hhdFJlc3RyaWN0aW9uTGV2ZWwge1xuICAgIE5PTkUsXG4gICAgRFJPUFBFRCxcbiAgICBESVNBQkxFRFxufVxuXG5pbnRlcmZhY2UgRWR1U2hhcmVkVXJpUmVzb3VyY2Uge1xuICAgIGJ1dHRvbk5hbWU6IHN0cmluZztcbiAgICBsaW5rVXJpOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBMZXZlbFNldHRpbmdzQ29uZmlnIHtcbiAgICBnYW1lbW9kZT86IG51bWJlcjtcbiAgICBiYXNlR2FtZVZlcnNpb24/OiBzdHJpbmc7XG4gICAgZ2VuZXJhdG9yPzogR2VuZXJhdG9yO1xuICAgIGFjaGlldmVtZW50c0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgICBlZGl0b3JXb3JsZFR5cGU/OiBFZGl0b3JXb3JsZFR5cGU7XG4gICAgY3JlYXRlZEluRWRpdG9yPzogYm9vbGVhbjtcbiAgICBleHBvcnRlZEZyb21FZGl0b3I/OiBib29sZWFuO1xuICAgIGVkdUVkaXRpb25PZmZlcj86IEVkdWNhdGlvbkVkaXRpb25PZmZlcjtcbiAgICBlZHVGZWF0dXJlc0VuYWJsZWQ/OiBib29sZWFuO1xuICAgIGVkdVByb2R1Y3RJZD86IHN0cmluZztcbiAgICBjb25maXJtZWRQbGF0Zm9ybUxvY2tlZENvbnRlbnQ/OiBib29sZWFuO1xuICAgIHhibEJyb2FkY2FzdFNldHRpbmdzPzogU29jaWFsR2FtZVB1Ymxpc2hTZXR0aW5ncztcbiAgICBwbGF0Zm9ybUJyb2FkY2FzdFNldHRpbmdzPzogU29jaWFsR2FtZVB1Ymxpc2hTZXR0aW5ncztcbiAgICB0ZXh0dXJlUGFja3NSZXF1aXJlZD86IGJvb2xlYW47XG4gICAgc2VydmVyQ2h1bmtUaWNrUmFuZ2U/OiBudW1iZXI7XG4gICAgbG9ja2VkQmVoYXZpb3JQYWNrPzogYm9vbGVhbjtcbiAgICBsb2NrZWRSZXNvdXJjZVBhY2s/OiBib29sZWFuO1xuICAgIGZyb21Mb2NrZWRXb3JsZFRlbXBsYXRlPzogYm9vbGVhbjtcbiAgICBvbmx5TXNhR2FtZXJ0YWdzPzogYm9vbGVhbjtcbiAgICBvbmx5U3Bhd25pbmdWMVZpbGxhZ2Vycz86IGJvb2xlYW47XG4gICAgcGVyc29uYURpc2FibGVkPzogYm9vbGVhbjtcbiAgICBjdXN0b21Ta2luRGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIGVtb3RlQ2hhdE11dGVkPzogYm9vbGVhbjtcbiAgICBsaW1pdGVkV29ybGRXaWR0aD86IG51bWJlcjtcbiAgICBsaW1pdGVkV29ybGREZXB0aD86IG51bWJlcjtcbiAgICBuZXdOZXRoZXI/OiBib29sZWFuO1xuICAgIGVkdVNoYXJlZFVyaVJlc291cmNlPzogRWR1U2hhcmVkVXJpUmVzb3VyY2U7XG4gICAgZm9yY2VPdmVycmlkZUV4cGVyaW1lbnRhbEdhbWVwbGF5PzogYm9vbGVhbjtcbiAgICBjaGF0UmVzdHJpY3Rpb25MZXZlbD86IENoYXRSZXN0cmljdGlvbkxldmVsO1xuICAgIGRpc2FibGVQbGF5ZXJJbnRlcmFjdGlvbnM/OiBib29sZWFuO1xuICAgIGJvbnVzQ2hlc3RFbmFibGVkPzogYm9vbGVhbjtcbiAgICBzdGFydFdpdGhNYXBFbmFibGVkPzogYm9vbGVhbjtcbiAgICBleHBlcmltZW50cz86IEV4cGVyaW1lbnRzO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIG5ldHdvcmsgc3RydWN0dXJlIG9mIHRoZSBzZXR0aW5ncyBvZiBhIGxldmVsLlxuICoge0BsaW5rIGh0dHBzOi8vbW9qYW5nLmdpdGh1Yi5pby9iZWRyb2NrLXByb3RvY29sLWRvY3MvaHRtbC9MZXZlbFNldHRpbmdzLmh0bWx9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExldmVsU2V0dGluZ3MgZXh0ZW5kcyBOZXR3b3JrU3RydWN0dXJlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdhbWVtb2RlOiBHYW1lbW9kZS5HYW1ldHlwZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdlbmVyYXRvcjogR2VuZXJhdG9yO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWNoaWV2ZW1lbnRzRGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBlZGl0b3JXb3JsZFR5cGU6IEVkaXRvcldvcmxkVHlwZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNyZWF0ZWRJbkVkaXRvcjogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV4cG9ydGVkRnJvbUVkaXRvcjogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVkdUVkaXRpb25PZmZlcjogRWR1Y2F0aW9uRWRpdGlvbk9mZmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWR1RmVhdHVyZXNFbmFibGVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWR1UHJvZHVjdElkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maXJtZWRQbGF0Zm9ybUxvY2tlZENvbnRlbnQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBtdWx0aXBsYXllckdhbWUgPSB0cnVlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYnJvYWRjYXN0VG9MQU4gPSB0cnVlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgeGJsQnJvYWRjYXN0U2V0dGluZ3M6IFNvY2lhbEdhbWVQdWJsaXNoU2V0dGluZ3M7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybUJyb2FkY2FzdFNldHRpbmdzOiBTb2NpYWxHYW1lUHVibGlzaFNldHRpbmdzO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dHVyZVBhY2tzUmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2ZXJDaHVua1RpY2tSYW5nZTogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9ja2VkQmVoYXZpb3JQYWNrOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9ja2VkUmVzb3VyY2VQYWNrOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZnJvbUxvY2tlZFdvcmxkVGVtcGxhdGU6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBvbmx5TXNhR2FtZXJ0YWdzOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JlYXRlZEZyb21Xb3JsZFRlbXBsYXRlID0gZmFsc2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSB3b3JsZFRlbXBsYXRlT3B0aW9uTG9ja2VkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvbmx5U3Bhd25pbmdWMVZpbGxhZ2VyczogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBlcnNvbmFEaXNhYmxlZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1c3RvbVNraW5EaXNhYmxlZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVtb3RlQ2hhdE11dGVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYmFzZUdhbWVWZXJzaW9uOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsaW1pdGVkV29ybGRXaWR0aDogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbGltaXRlZFdvcmxkRGVwdGg6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5ld05ldGhlcjogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVkdVNoYXJlZFVyaVJlc291cmNlOiBFZHVTaGFyZWRVcmlSZXNvdXJjZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcmNlT3ZlcnJpZGVFeHBlcmltZW50YWxHYW1lcGxheTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYXRSZXN0cmljdGlvbkxldmVsOiBDaGF0UmVzdHJpY3Rpb25MZXZlbDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpc2FibGVQbGF5ZXJJbnRlcmFjdGlvbnM6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBib251c0NoZXN0RW5hYmxlZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXJ0V2l0aE1hcEVuYWJsZWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBleHBlcmltZW50czogRXhwZXJpbWVudHM7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2VlZDogYmlnaW50LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNwYXduU2V0dGluZ3M6IFNwYXduU2V0dGluZ3MsXG4gICAgICAgIHByaXZhdGUgZGlmZmljdWx0eTogRGlmZmljdWx0eSxcbiAgICAgICAgcHJpdmF0ZSBkZWZhdWx0U3Bhd25Qb3M6IEJsb2NrUG9zLFxuICAgICAgICBwcml2YXRlIGRheUN5Y2xlU3RvcFRpbWU6IG51bWJlcixcbiAgICAgICAgcHJpdmF0ZSByYWluTGV2ZWw6IG51bWJlcixcbiAgICAgICAgcHJpdmF0ZSBsaWdodG5pbmdMZXZlbDogbnVtYmVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmRzRW5hYmxlZDogYm9vbGVhbixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBnYW1lcnVsZXM6IFNldDx7fT4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcGxheWVyUGVybWlzc2lvbnM6IFBsYXllclBlcm1pc3Npb25MZXZlbCxcbiAgICAgICAgY29uZmlnOiBMZXZlbFNldHRpbmdzQ29uZmlnID0ge31cbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5nYW1lbW9kZSA9IGNvbmZpZy5nYW1lbW9kZSA/PyBHYW1lbW9kZS5HYW1ldHlwZS5XT1JMRF9ERUZBVUxUO1xuICAgICAgICB0aGlzLmJhc2VHYW1lVmVyc2lvbiA9IGNvbmZpZy5iYXNlR2FtZVZlcnNpb24gPz8gJyonO1xuICAgICAgICB0aGlzLmdlbmVyYXRvciA9IGNvbmZpZy5nZW5lcmF0b3IgPz8gR2VuZXJhdG9yLk9WRVJXT1JMRDtcbiAgICAgICAgdGhpcy5hY2hpZXZlbWVudHNEaXNhYmxlZCA9IGNvbmZpZy5hY2hpZXZlbWVudHNEaXNhYmxlZCA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5lZGl0b3JXb3JsZFR5cGUgPSBjb25maWcuZWRpdG9yV29ybGRUeXBlID8/IEVkaXRvcldvcmxkVHlwZS5OT05fRURJVE9SO1xuICAgICAgICB0aGlzLmNyZWF0ZWRJbkVkaXRvciA9IGNvbmZpZy5jcmVhdGVkSW5FZGl0b3IgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuZXhwb3J0ZWRGcm9tRWRpdG9yID0gY29uZmlnLmV4cG9ydGVkRnJvbUVkaXRvciA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5lZHVFZGl0aW9uT2ZmZXIgPSBjb25maWcuZWR1RWRpdGlvbk9mZmVyID8/IEVkdWNhdGlvbkVkaXRpb25PZmZlci5OT05FO1xuICAgICAgICB0aGlzLmVkdUZlYXR1cmVzRW5hYmxlZCA9IGNvbmZpZy5lZHVGZWF0dXJlc0VuYWJsZWQgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuZWR1UHJvZHVjdElkID0gY29uZmlnLmVkdVByb2R1Y3RJZCA/PyAnJztcbiAgICAgICAgdGhpcy5jb25maXJtZWRQbGF0Zm9ybUxvY2tlZENvbnRlbnQgPSBjb25maWcuY29uZmlybWVkUGxhdGZvcm1Mb2NrZWRDb250ZW50ID8/IGZhbHNlO1xuICAgICAgICB0aGlzLnhibEJyb2FkY2FzdFNldHRpbmdzID0gY29uZmlnLnhibEJyb2FkY2FzdFNldHRpbmdzID8/IFNvY2lhbEdhbWVQdWJsaXNoU2V0dGluZ3MuUFVCTElDO1xuICAgICAgICB0aGlzLnBsYXRmb3JtQnJvYWRjYXN0U2V0dGluZ3MgPSBjb25maWcucGxhdGZvcm1Ccm9hZGNhc3RTZXR0aW5ncyA/PyBTb2NpYWxHYW1lUHVibGlzaFNldHRpbmdzLlBVQkxJQztcbiAgICAgICAgdGhpcy50ZXh0dXJlUGFja3NSZXF1aXJlZCA9IGNvbmZpZy50ZXh0dXJlUGFja3NSZXF1aXJlZCA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5zZXJ2ZXJDaHVua1RpY2tSYW5nZSA9IGNvbmZpZy5zZXJ2ZXJDaHVua1RpY2tSYW5nZSA/PyA0O1xuICAgICAgICB0aGlzLmxvY2tlZEJlaGF2aW9yUGFjayA9IGNvbmZpZy5sb2NrZWRCZWhhdmlvclBhY2sgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMubG9ja2VkUmVzb3VyY2VQYWNrID0gY29uZmlnLmxvY2tlZFJlc291cmNlUGFjayA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5mcm9tTG9ja2VkV29ybGRUZW1wbGF0ZSA9IGNvbmZpZy5mcm9tTG9ja2VkV29ybGRUZW1wbGF0ZSA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5vbmx5TXNhR2FtZXJ0YWdzID0gY29uZmlnLm9ubHlNc2FHYW1lcnRhZ3MgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMub25seVNwYXduaW5nVjFWaWxsYWdlcnMgPSBjb25maWcub25seVNwYXduaW5nVjFWaWxsYWdlcnMgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMucGVyc29uYURpc2FibGVkID0gY29uZmlnLnBlcnNvbmFEaXNhYmxlZCA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5jdXN0b21Ta2luRGlzYWJsZWQgPSBjb25maWcuY3VzdG9tU2tpbkRpc2FibGVkID8/IGZhbHNlO1xuICAgICAgICB0aGlzLmVtb3RlQ2hhdE11dGVkID0gY29uZmlnLmVtb3RlQ2hhdE11dGVkID8/IGZhbHNlO1xuICAgICAgICB0aGlzLmxpbWl0ZWRXb3JsZFdpZHRoID0gY29uZmlnLmxpbWl0ZWRXb3JsZFdpZHRoID8/IDA7XG4gICAgICAgIHRoaXMubGltaXRlZFdvcmxkRGVwdGggPSBjb25maWcubGltaXRlZFdvcmxkRGVwdGggPz8gMDtcbiAgICAgICAgdGhpcy5uZXdOZXRoZXIgPSBjb25maWcubmV3TmV0aGVyID8/IHRydWU7XG4gICAgICAgIHRoaXMuZWR1U2hhcmVkVXJpUmVzb3VyY2UgPSBjb25maWcuZWR1U2hhcmVkVXJpUmVzb3VyY2UgPz8geyBidXR0b25OYW1lOiAnJywgbGlua1VyaTogJycgfTtcbiAgICAgICAgdGhpcy5mb3JjZU92ZXJyaWRlRXhwZXJpbWVudGFsR2FtZXBsYXkgPSBjb25maWcuZm9yY2VPdmVycmlkZUV4cGVyaW1lbnRhbEdhbWVwbGF5ID8/IGZhbHNlO1xuICAgICAgICB0aGlzLmNoYXRSZXN0cmljdGlvbkxldmVsID0gY29uZmlnLmNoYXRSZXN0cmljdGlvbkxldmVsID8/IENoYXRSZXN0cmljdGlvbkxldmVsLk5PTkU7XG4gICAgICAgIHRoaXMuZGlzYWJsZVBsYXllckludGVyYWN0aW9ucyA9IGNvbmZpZy5kaXNhYmxlUGxheWVySW50ZXJhY3Rpb25zID8/IGZhbHNlO1xuICAgICAgICB0aGlzLmJvbnVzQ2hlc3RFbmFibGVkID0gY29uZmlnLmJvbnVzQ2hlc3RFbmFibGVkID8/IGZhbHNlO1xuICAgICAgICB0aGlzLnN0YXJ0V2l0aE1hcEVuYWJsZWQgPSBjb25maWcuc3RhcnRXaXRoTWFwRW5hYmxlZCA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5leHBlcmltZW50cyA9IGNvbmZpZy5leHBlcmltZW50cyA/PyBuZXcgRXhwZXJpbWVudHMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VyaWFsaXplKHN0cmVhbTogTmV0d29ya0JpbmFyeVN0cmVhbSk6IHZvaWQge1xuICAgICAgICBzdHJlYW0ud3JpdGVMb25nTEUodGhpcy5zZWVkKTtcbiAgICAgICAgdGhpcy5zcGF3blNldHRpbmdzLnNlcmlhbGl6ZShzdHJlYW0pO1xuICAgICAgICBzdHJlYW0ud3JpdGVWYXJJbnQodGhpcy5nZW5lcmF0b3IpO1xuICAgICAgICBzdHJlYW0ud3JpdGVWYXJJbnQodGhpcy5nYW1lbW9kZSk7XG4gICAgICAgIHN0cmVhbS53cml0ZVZhckludCh0aGlzLmRpZmZpY3VsdHkpO1xuICAgICAgICB0aGlzLmRlZmF1bHRTcGF3blBvcy5zZXJpYWxpemUoc3RyZWFtKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLmFjaGlldmVtZW50c0Rpc2FibGVkKTtcbiAgICAgICAgc3RyZWFtLndyaXRlVmFySW50KHRoaXMuZWRpdG9yV29ybGRUeXBlKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLmNyZWF0ZWRJbkVkaXRvcik7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5leHBvcnRlZEZyb21FZGl0b3IpO1xuICAgICAgICBzdHJlYW0ud3JpdGVWYXJJbnQodGhpcy5kYXlDeWNsZVN0b3BUaW1lKTtcbiAgICAgICAgc3RyZWFtLndyaXRlVmFySW50KHRoaXMuZWR1RWRpdGlvbk9mZmVyKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLmVkdUZlYXR1cmVzRW5hYmxlZCk7XG4gICAgICAgIHN0cmVhbS53cml0ZVN0cmluZyh0aGlzLmVkdVByb2R1Y3RJZCk7XG4gICAgICAgIHN0cmVhbS53cml0ZUZsb2F0TEUodGhpcy5yYWluTGV2ZWwpO1xuICAgICAgICBzdHJlYW0ud3JpdGVGbG9hdExFKHRoaXMubGlnaHRuaW5nTGV2ZWwpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCb29sZWFuKHRoaXMuY29uZmlybWVkUGxhdGZvcm1Mb2NrZWRDb250ZW50KTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLm11bHRpcGxheWVyR2FtZSk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5icm9hZGNhc3RUb0xBTik7XG4gICAgICAgIHN0cmVhbS53cml0ZVZhckludCh0aGlzLnhibEJyb2FkY2FzdFNldHRpbmdzKTtcbiAgICAgICAgc3RyZWFtLndyaXRlVmFySW50KHRoaXMucGxhdGZvcm1Ccm9hZGNhc3RTZXR0aW5ncyk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5jb21tYW5kc0VuYWJsZWQpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCb29sZWFuKHRoaXMudGV4dHVyZVBhY2tzUmVxdWlyZWQpO1xuICAgICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgZ2FtZXJ1bGUgY2xhc3MgJiBzZXJpYWxpemF0aW9uXG4gICAgICAgIHN0cmVhbS53cml0ZVVuc2lnbmVkVmFySW50KHRoaXMuZ2FtZXJ1bGVzLnNpemUpO1xuICAgICAgICB0aGlzLmV4cGVyaW1lbnRzLnNlcmlhbGl6ZShzdHJlYW0pO1xuICAgICAgICBzdHJlYW0ud3JpdGVCb29sZWFuKHRoaXMuYm9udXNDaGVzdEVuYWJsZWQpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCb29sZWFuKHRoaXMuc3RhcnRXaXRoTWFwRW5hYmxlZCk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJ5dGUodGhpcy5wbGF5ZXJQZXJtaXNzaW9ucyk7XG4gICAgICAgIHN0cmVhbS53cml0ZUludExFKHRoaXMuc2VydmVyQ2h1bmtUaWNrUmFuZ2UpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCb29sZWFuKHRoaXMubG9ja2VkQmVoYXZpb3JQYWNrKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLmxvY2tlZFJlc291cmNlUGFjayk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5mcm9tTG9ja2VkV29ybGRUZW1wbGF0ZSk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5vbmx5TXNhR2FtZXJ0YWdzKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLmNyZWF0ZWRGcm9tV29ybGRUZW1wbGF0ZSk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy53b3JsZFRlbXBsYXRlT3B0aW9uTG9ja2VkKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLm9ubHlTcGF3bmluZ1YxVmlsbGFnZXJzKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLnBlcnNvbmFEaXNhYmxlZCk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5jdXN0b21Ta2luRGlzYWJsZWQpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCb29sZWFuKHRoaXMuZW1vdGVDaGF0TXV0ZWQpO1xuICAgICAgICBzdHJlYW0ud3JpdGVTdHJpbmcodGhpcy5iYXNlR2FtZVZlcnNpb24pO1xuICAgICAgICBzdHJlYW0ud3JpdGVJbnRMRSh0aGlzLmxpbWl0ZWRXb3JsZFdpZHRoKTtcbiAgICAgICAgc3RyZWFtLndyaXRlSW50TEUodGhpcy5saW1pdGVkV29ybGREZXB0aCk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5uZXdOZXRoZXIpO1xuICAgICAgICBzdHJlYW0ud3JpdGVTdHJpbmcodGhpcy5lZHVTaGFyZWRVcmlSZXNvdXJjZS5idXR0b25OYW1lKTtcbiAgICAgICAgc3RyZWFtLndyaXRlU3RyaW5nKHRoaXMuZWR1U2hhcmVkVXJpUmVzb3VyY2UubGlua1VyaSk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5mb3JjZU92ZXJyaWRlRXhwZXJpbWVudGFsR2FtZXBsYXkpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCeXRlKHRoaXMuY2hhdFJlc3RyaWN0aW9uTGV2ZWwpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCb29sZWFuKHRoaXMuZGlzYWJsZVBsYXllckludGVyYWN0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlc2VyaWFsaXplKHN0cmVhbTogTmV0d29ya0JpbmFyeVN0cmVhbSk6IHZvaWQge1xuICAgICAgICB2b2lkIHN0cmVhbTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJFZGl0b3JXb3JsZFR5cGUiLCJFZHVjYXRpb25FZGl0aW9uT2ZmZXIiLCJTb2NpYWxHYW1lUHVibGlzaFNldHRpbmdzIiwiQ2hhdFJlc3RyaWN0aW9uTGV2ZWwiXSwibWFwcGluZ3MiOiI7Ozs7QUFNWSxJQUFBLGVBQUEscUJBQUFBLGdCQUFMLEtBQUE7QUFDSCxFQUFBQSxnQkFBQSxDQUFBLGdCQUFBLENBQUEsWUFBQSxDQUFBLEdBQUEsQ0FBQSxDQUFBLEdBQUEsWUFBQSxDQUFBO0FBQ0EsRUFBQUEsZ0JBQUEsQ0FBQSxnQkFBQSxDQUFBLGdCQUFBLENBQUEsR0FBQSxDQUFBLENBQUEsR0FBQSxnQkFBQSxDQUFBO0FBQ0EsRUFBQUEsZ0JBQUEsQ0FBQSxnQkFBQSxDQUFBLG1CQUFBLENBQUEsR0FBQSxDQUFBLENBQUEsR0FBQSxtQkFBQSxDQUFBO0FBSFEsRUFBQUEsT0FBQUEsZ0JBQUFBLENBQUFBO0FBQUEsQ0FBQSxFQUFBLGVBQUEsSUFBQSxFQUFBLEVBQUE7QUFNQSxJQUFBLHFCQUFBLHFCQUFBQyxzQkFBTCxLQUFB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
|
|
@@ -0,0 +1,47 @@
|
|
|
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 NetworkItemStackDescriptor extends NetworkStructure.default {
|
|
8
|
+
constructor(id, stackSize, auxValue, includeNetid, blockRuntimeId, config = {}) {
|
|
9
|
+
super();
|
|
10
|
+
this.id = id;
|
|
11
|
+
this.stackSize = stackSize;
|
|
12
|
+
this.auxValue = auxValue;
|
|
13
|
+
this.includeNetid = includeNetid;
|
|
14
|
+
this.blockRuntimeId = blockRuntimeId;
|
|
15
|
+
this.netIdVariant = config.netIdVariant ?? 0;
|
|
16
|
+
this.userDataBuffer = config.userDataBuffer = Buffer.allocUnsafe(0);
|
|
17
|
+
}
|
|
18
|
+
netIdVariant;
|
|
19
|
+
userDataBuffer;
|
|
20
|
+
// serialized ItemInstanceUserData
|
|
21
|
+
INVALID_ITEM_STACK_ID = 0;
|
|
22
|
+
serialize(stream) {
|
|
23
|
+
stream.writeVarInt(this.id);
|
|
24
|
+
if (this.id !== this.INVALID_ITEM_STACK_ID) {
|
|
25
|
+
stream.writeShortLE(this.stackSize);
|
|
26
|
+
stream.writeUnsignedVarInt(this.auxValue);
|
|
27
|
+
stream.writeBoolean(this.includeNetid);
|
|
28
|
+
this.includeNetid && stream.writeVarInt(this.netIdVariant);
|
|
29
|
+
stream.writeVarInt(this.blockRuntimeId);
|
|
30
|
+
stream.writeLengthPrefixed(this.userDataBuffer);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
deserialize(stream) {
|
|
34
|
+
this.id = stream.readVarInt();
|
|
35
|
+
if (this.id !== this.INVALID_ITEM_STACK_ID) {
|
|
36
|
+
this.stackSize = stream.readShortLE();
|
|
37
|
+
this.auxValue = stream.readUnsignedVarInt();
|
|
38
|
+
this.includeNetid = stream.readBoolean();
|
|
39
|
+
this.includeNetid && (this.netIdVariant = stream.readVarInt());
|
|
40
|
+
this.blockRuntimeId = stream.readVarInt();
|
|
41
|
+
this.userDataBuffer = stream.readLengthPrefixed();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
exports.default = NetworkItemStackDescriptor;
|
|
47
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmV0d29ya0l0ZW1TdGFja0Rlc2NyaXB0b3IuY2pzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RydWN0dXJlL05ldHdvcmtJdGVtU3RhY2tEZXNjcmlwdG9yLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTmV0d29ya0JpbmFyeVN0cmVhbSB9IGZyb20gJy4uLyc7XG5pbXBvcnQgeyBOZXR3b3JrU3RydWN0dXJlIH0gZnJvbSAnLi4vJztcblxuaW50ZXJmYWNlIE5ldHdvcmtJdGVtU3RhY2tEZXNjcmlwdG9yQ29uZmlnIHtcbiAgICBuZXRJZFZhcmlhbnQ/OiBudW1iZXI7XG4gICAgdXNlckRhdGFCdWZmZXI/OiBCdWZmZXI7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG5ldHdvcmsgc3RydWN0dXJlIG9mIGEgaXRlbSBzdGFjayBkZXNjcmlwdG9yLlxuICoge0BsaW5rIGh0dHBzOi8vbW9qYW5nLmdpdGh1Yi5pby9iZWRyb2NrLXByb3RvY29sLWRvY3MvaHRtbC9OZXR3b3JrSXRlbVN0YWNrRGVzY3JpcHRvci5odG1sfVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXR3b3JrSXRlbVN0YWNrRGVzY3JpcHRvciBleHRlbmRzIE5ldHdvcmtTdHJ1Y3R1cmUge1xuICAgIHB1YmxpYyBuZXRJZFZhcmlhbnQ6IG51bWJlcjtcbiAgICBwdWJsaWMgdXNlckRhdGFCdWZmZXI6IEJ1ZmZlcjsgLy8gc2VyaWFsaXplZCBJdGVtSW5zdGFuY2VVc2VyRGF0YVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSBJTlZBTElEX0lURU1fU1RBQ0tfSUQgPSAwO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgaWQ6IG51bWJlcixcbiAgICAgICAgcHVibGljIHN0YWNrU2l6ZTogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgYXV4VmFsdWU6IG51bWJlcixcbiAgICAgICAgcHVibGljIGluY2x1ZGVOZXRpZDogYm9vbGVhbixcbiAgICAgICAgcHVibGljIGJsb2NrUnVudGltZUlkOiBudW1iZXIsXG4gICAgICAgIGNvbmZpZzogTmV0d29ya0l0ZW1TdGFja0Rlc2NyaXB0b3JDb25maWcgPSB7fVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLm5ldElkVmFyaWFudCA9IGNvbmZpZy5uZXRJZFZhcmlhbnQgPz8gMDtcbiAgICAgICAgdGhpcy51c2VyRGF0YUJ1ZmZlciA9IGNvbmZpZy51c2VyRGF0YUJ1ZmZlciA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VyaWFsaXplKHN0cmVhbTogTmV0d29ya0JpbmFyeVN0cmVhbSk6IHZvaWQge1xuICAgICAgICBzdHJlYW0ud3JpdGVWYXJJbnQodGhpcy5pZCk7XG4gICAgICAgIGlmICh0aGlzLmlkICE9PSB0aGlzLklOVkFMSURfSVRFTV9TVEFDS19JRCkge1xuICAgICAgICAgICAgc3RyZWFtLndyaXRlU2hvcnRMRSh0aGlzLnN0YWNrU2l6ZSk7XG4gICAgICAgICAgICBzdHJlYW0ud3JpdGVVbnNpZ25lZFZhckludCh0aGlzLmF1eFZhbHVlKTtcbiAgICAgICAgICAgIHN0cmVhbS53cml0ZUJvb2xlYW4odGhpcy5pbmNsdWRlTmV0aWQpO1xuICAgICAgICAgICAgdGhpcy5pbmNsdWRlTmV0aWQgJiYgc3RyZWFtLndyaXRlVmFySW50KHRoaXMubmV0SWRWYXJpYW50KTtcbiAgICAgICAgICAgIHN0cmVhbS53cml0ZVZhckludCh0aGlzLmJsb2NrUnVudGltZUlkKTtcbiAgICAgICAgICAgIHN0cmVhbS53cml0ZUxlbmd0aFByZWZpeGVkKHRoaXMudXNlckRhdGFCdWZmZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGRlc2VyaWFsaXplKHN0cmVhbTogTmV0d29ya0JpbmFyeVN0cmVhbSk6IHZvaWQge1xuICAgICAgICB0aGlzLmlkID0gc3RyZWFtLnJlYWRWYXJJbnQoKTtcbiAgICAgICAgaWYgKHRoaXMuaWQgIT09IHRoaXMuSU5WQUxJRF9JVEVNX1NUQUNLX0lEKSB7XG4gICAgICAgICAgICB0aGlzLnN0YWNrU2l6ZSA9IHN0cmVhbS5yZWFkU2hvcnRMRSgpO1xuICAgICAgICAgICAgdGhpcy5hdXhWYWx1ZSA9IHN0cmVhbS5yZWFkVW5zaWduZWRWYXJJbnQoKTtcbiAgICAgICAgICAgIHRoaXMuaW5jbHVkZU5ldGlkID0gc3RyZWFtLnJlYWRCb29sZWFuKCk7XG4gICAgICAgICAgICB0aGlzLmluY2x1ZGVOZXRpZCAmJiAodGhpcy5uZXRJZFZhcmlhbnQgPSBzdHJlYW0ucmVhZFZhckludCgpKTtcbiAgICAgICAgICAgIHRoaXMuYmxvY2tSdW50aW1lSWQgPSBzdHJlYW0ucmVhZFZhckludCgpO1xuICAgICAgICAgICAgdGhpcy51c2VyRGF0YUJ1ZmZlciA9IHN0cmVhbS5yZWFkTGVuZ3RoUHJlZml4ZWQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJOZXR3b3JrU3RydWN0dXJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFZQSxNQUFxQixtQ0FBbUNBLHdCQUFpQixDQUFBO0FBQUEsRUFNOUQsV0FBQSxDQUNJLElBQ0EsU0FDQSxFQUFBLFFBQUEsRUFDQSxjQUNBLGNBQ1AsRUFBQSxNQUFBLEdBQTJDLEVBQzdDLEVBQUE7QUFDRSxJQUFNLEtBQUEsRUFBQSxDQUFBO0FBUEMsSUFBQSxJQUFBLENBQUEsRUFBQSxHQUFBLEVBQUEsQ0FBQTtBQUNBLElBQUEsSUFBQSxDQUFBLFNBQUEsR0FBQSxTQUFBLENBQUE7QUFDQSxJQUFBLElBQUEsQ0FBQSxRQUFBLEdBQUEsUUFBQSxDQUFBO0FBQ0EsSUFBQSxJQUFBLENBQUEsWUFBQSxHQUFBLFlBQUEsQ0FBQTtBQUNBLElBQUEsSUFBQSxDQUFBLGNBQUEsR0FBQSxjQUFBLENBQUE7QUFJUCxJQUFLLElBQUEsQ0FBQSxZQUFBLEdBQWUsT0FBTyxZQUFnQixJQUFBLENBQUEsQ0FBQTtBQUMzQyxJQUFBLElBQUEsQ0FBSyxjQUFpQixHQUFBLE1BQUEsQ0FBTyxjQUFpQixHQUFBLE1BQUEsQ0FBTyxZQUFZLENBQUMsQ0FBQSxDQUFBO0FBQUEsR0FDdEU7QUFBQSxFQWhCTyxZQUFBLENBQUE7QUFBQSxFQUNBLGNBQUEsQ0FBQTtBQUFBO0FBQUEsRUFFVSxxQkFBd0IsR0FBQSxDQUFBLENBQUE7QUFBQSxFQWVsQyxVQUFVLE1BQW1DLEVBQUE7QUFDaEQsSUFBTyxNQUFBLENBQUEsV0FBQSxDQUFZLEtBQUssRUFBRSxDQUFBLENBQUE7QUFDMUIsSUFBSSxJQUFBLElBQUEsQ0FBSyxFQUFPLEtBQUEsSUFBQSxDQUFLLHFCQUF1QixFQUFBO0FBQ3hDLE1BQU8sTUFBQSxDQUFBLFlBQUEsQ0FBYSxLQUFLLFNBQVMsQ0FBQSxDQUFBO0FBQ2xDLE1BQU8sTUFBQSxDQUFBLG1CQUFBLENBQW9CLEtBQUssUUFBUSxDQUFBLENBQUE7QUFDeEMsTUFBTyxNQUFBLENBQUEsWUFBQSxDQUFhLEtBQUssWUFBWSxDQUFBLENBQUE7QUFDckMsTUFBQSxJQUFBLENBQUssWUFBZ0IsSUFBQSxNQUFBLENBQU8sV0FBWSxDQUFBLElBQUEsQ0FBSyxZQUFZLENBQUEsQ0FBQTtBQUN6RCxNQUFPLE1BQUEsQ0FBQSxXQUFBLENBQVksS0FBSyxjQUFjLENBQUEsQ0FBQTtBQUN0QyxNQUFPLE1BQUEsQ0FBQSxtQkFBQSxDQUFvQixLQUFLLGNBQWMsQ0FBQSxDQUFBO0FBQUEsS0FDbEQ7QUFBQSxHQUNKO0FBQUEsRUFFTyxZQUFZLE1BQW1DLEVBQUE7QUFDbEQsSUFBSyxJQUFBLENBQUEsRUFBQSxHQUFLLE9BQU8sVUFBVyxFQUFBLENBQUE7QUFDNUIsSUFBSSxJQUFBLElBQUEsQ0FBSyxFQUFPLEtBQUEsSUFBQSxDQUFLLHFCQUF1QixFQUFBO0FBQ3hDLE1BQUssSUFBQSxDQUFBLFNBQUEsR0FBWSxPQUFPLFdBQVksRUFBQSxDQUFBO0FBQ3BDLE1BQUssSUFBQSxDQUFBLFFBQUEsR0FBVyxPQUFPLGtCQUFtQixFQUFBLENBQUE7QUFDMUMsTUFBSyxJQUFBLENBQUEsWUFBQSxHQUFlLE9BQU8sV0FBWSxFQUFBLENBQUE7QUFDdkMsTUFBQSxJQUFBLENBQUssWUFBaUIsS0FBQSxJQUFBLENBQUssWUFBZSxHQUFBLE1BQUEsQ0FBTyxVQUFXLEVBQUEsQ0FBQSxDQUFBO0FBQzVELE1BQUssSUFBQSxDQUFBLGNBQUEsR0FBaUIsT0FBTyxVQUFXLEVBQUEsQ0FBQTtBQUN4QyxNQUFLLElBQUEsQ0FBQSxjQUFBLEdBQWlCLE9BQU8sa0JBQW1CLEVBQUEsQ0FBQTtBQUFBLEtBQ3BEO0FBQUEsR0FDSjtBQUNKOzs7OyJ9
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { NetworkBinaryStream, NetworkStructure } from '../';
|
|
2
|
+
|
|
3
|
+
interface NetworkItemStackDescriptorConfig {
|
|
4
|
+
netIdVariant?: number;
|
|
5
|
+
userDataBuffer?: Buffer;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Represents a network structure of a item stack descriptor.
|
|
9
|
+
* {@link https://mojang.github.io/bedrock-protocol-docs/html/NetworkItemStackDescriptor.html}
|
|
10
|
+
*/
|
|
11
|
+
export default class NetworkItemStackDescriptor extends NetworkStructure {
|
|
12
|
+
id: number;
|
|
13
|
+
stackSize: number;
|
|
14
|
+
auxValue: number;
|
|
15
|
+
includeNetid: boolean;
|
|
16
|
+
blockRuntimeId: number;
|
|
17
|
+
netIdVariant: number;
|
|
18
|
+
userDataBuffer: Buffer;
|
|
19
|
+
private readonly INVALID_ITEM_STACK_ID;
|
|
20
|
+
constructor(id: number, stackSize: number, auxValue: number, includeNetid: boolean, blockRuntimeId: number, config?: NetworkItemStackDescriptorConfig);
|
|
21
|
+
serialize(stream: NetworkBinaryStream): void;
|
|
22
|
+
deserialize(stream: NetworkBinaryStream): void;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=NetworkItemStackDescriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetworkItemStackDescriptor.d.ts","sourceRoot":"","sources":["../../src/structure/NetworkItemStackDescriptor.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAEvC,UAAU,gCAAgC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,gBAAgB;IAOzD,EAAE,EAAE,MAAM;IACV,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,YAAY,EAAE,OAAO;IACrB,cAAc,EAAE,MAAM;IAV1B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAK;gBAGhC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,MAAM,EAC7B,MAAM,GAAE,gCAAqC;IAO1C,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAY5C,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;CAWxD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import NetworkStructure from '../NetworkStructure.es.js';
|
|
2
|
+
|
|
3
|
+
class NetworkItemStackDescriptor extends NetworkStructure {
|
|
4
|
+
constructor(id, stackSize, auxValue, includeNetid, blockRuntimeId, config = {}) {
|
|
5
|
+
super();
|
|
6
|
+
this.id = id;
|
|
7
|
+
this.stackSize = stackSize;
|
|
8
|
+
this.auxValue = auxValue;
|
|
9
|
+
this.includeNetid = includeNetid;
|
|
10
|
+
this.blockRuntimeId = blockRuntimeId;
|
|
11
|
+
this.netIdVariant = config.netIdVariant ?? 0;
|
|
12
|
+
this.userDataBuffer = config.userDataBuffer = Buffer.allocUnsafe(0);
|
|
13
|
+
}
|
|
14
|
+
netIdVariant;
|
|
15
|
+
userDataBuffer;
|
|
16
|
+
// serialized ItemInstanceUserData
|
|
17
|
+
INVALID_ITEM_STACK_ID = 0;
|
|
18
|
+
serialize(stream) {
|
|
19
|
+
stream.writeVarInt(this.id);
|
|
20
|
+
if (this.id !== this.INVALID_ITEM_STACK_ID) {
|
|
21
|
+
stream.writeShortLE(this.stackSize);
|
|
22
|
+
stream.writeUnsignedVarInt(this.auxValue);
|
|
23
|
+
stream.writeBoolean(this.includeNetid);
|
|
24
|
+
this.includeNetid && stream.writeVarInt(this.netIdVariant);
|
|
25
|
+
stream.writeVarInt(this.blockRuntimeId);
|
|
26
|
+
stream.writeLengthPrefixed(this.userDataBuffer);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
deserialize(stream) {
|
|
30
|
+
this.id = stream.readVarInt();
|
|
31
|
+
if (this.id !== this.INVALID_ITEM_STACK_ID) {
|
|
32
|
+
this.stackSize = stream.readShortLE();
|
|
33
|
+
this.auxValue = stream.readUnsignedVarInt();
|
|
34
|
+
this.includeNetid = stream.readBoolean();
|
|
35
|
+
this.includeNetid && (this.netIdVariant = stream.readVarInt());
|
|
36
|
+
this.blockRuntimeId = stream.readVarInt();
|
|
37
|
+
this.userDataBuffer = stream.readLengthPrefixed();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export { NetworkItemStackDescriptor as default };
|
|
43
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmV0d29ya0l0ZW1TdGFja0Rlc2NyaXB0b3IuZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJ1Y3R1cmUvTmV0d29ya0l0ZW1TdGFja0Rlc2NyaXB0b3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOZXR3b3JrQmluYXJ5U3RyZWFtIH0gZnJvbSAnLi4vJztcbmltcG9ydCB7IE5ldHdvcmtTdHJ1Y3R1cmUgfSBmcm9tICcuLi8nO1xuXG5pbnRlcmZhY2UgTmV0d29ya0l0ZW1TdGFja0Rlc2NyaXB0b3JDb25maWcge1xuICAgIG5ldElkVmFyaWFudD86IG51bWJlcjtcbiAgICB1c2VyRGF0YUJ1ZmZlcj86IEJ1ZmZlcjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbmV0d29yayBzdHJ1Y3R1cmUgb2YgYSBpdGVtIHN0YWNrIGRlc2NyaXB0b3IuXG4gKiB7QGxpbmsgaHR0cHM6Ly9tb2phbmcuZ2l0aHViLmlvL2JlZHJvY2stcHJvdG9jb2wtZG9jcy9odG1sL05ldHdvcmtJdGVtU3RhY2tEZXNjcmlwdG9yLmh0bWx9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ldHdvcmtJdGVtU3RhY2tEZXNjcmlwdG9yIGV4dGVuZHMgTmV0d29ya1N0cnVjdHVyZSB7XG4gICAgcHVibGljIG5ldElkVmFyaWFudDogbnVtYmVyO1xuICAgIHB1YmxpYyB1c2VyRGF0YUJ1ZmZlcjogQnVmZmVyOyAvLyBzZXJpYWxpemVkIEl0ZW1JbnN0YW5jZVVzZXJEYXRhXG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IElOVkFMSURfSVRFTV9TVEFDS19JRCA9IDA7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBpZDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgc3RhY2tTaXplOiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyBhdXhWYWx1ZTogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgaW5jbHVkZU5ldGlkOiBib29sZWFuLFxuICAgICAgICBwdWJsaWMgYmxvY2tSdW50aW1lSWQ6IG51bWJlcixcbiAgICAgICAgY29uZmlnOiBOZXR3b3JrSXRlbVN0YWNrRGVzY3JpcHRvckNvbmZpZyA9IHt9XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMubmV0SWRWYXJpYW50ID0gY29uZmlnLm5ldElkVmFyaWFudCA/PyAwO1xuICAgICAgICB0aGlzLnVzZXJEYXRhQnVmZmVyID0gY29uZmlnLnVzZXJEYXRhQnVmZmVyID0gQnVmZmVyLmFsbG9jVW5zYWZlKDApO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXJpYWxpemUoc3RyZWFtOiBOZXR3b3JrQmluYXJ5U3RyZWFtKTogdm9pZCB7XG4gICAgICAgIHN0cmVhbS53cml0ZVZhckludCh0aGlzLmlkKTtcbiAgICAgICAgaWYgKHRoaXMuaWQgIT09IHRoaXMuSU5WQUxJRF9JVEVNX1NUQUNLX0lEKSB7XG4gICAgICAgICAgICBzdHJlYW0ud3JpdGVTaG9ydExFKHRoaXMuc3RhY2tTaXplKTtcbiAgICAgICAgICAgIHN0cmVhbS53cml0ZVVuc2lnbmVkVmFySW50KHRoaXMuYXV4VmFsdWUpO1xuICAgICAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLmluY2x1ZGVOZXRpZCk7XG4gICAgICAgICAgICB0aGlzLmluY2x1ZGVOZXRpZCAmJiBzdHJlYW0ud3JpdGVWYXJJbnQodGhpcy5uZXRJZFZhcmlhbnQpO1xuICAgICAgICAgICAgc3RyZWFtLndyaXRlVmFySW50KHRoaXMuYmxvY2tSdW50aW1lSWQpO1xuICAgICAgICAgICAgc3RyZWFtLndyaXRlTGVuZ3RoUHJlZml4ZWQodGhpcy51c2VyRGF0YUJ1ZmZlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzZXJpYWxpemUoc3RyZWFtOiBOZXR3b3JrQmluYXJ5U3RyZWFtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaWQgPSBzdHJlYW0ucmVhZFZhckludCgpO1xuICAgICAgICBpZiAodGhpcy5pZCAhPT0gdGhpcy5JTlZBTElEX0lURU1fU1RBQ0tfSUQpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhY2tTaXplID0gc3RyZWFtLnJlYWRTaG9ydExFKCk7XG4gICAgICAgICAgICB0aGlzLmF1eFZhbHVlID0gc3RyZWFtLnJlYWRVbnNpZ25lZFZhckludCgpO1xuICAgICAgICAgICAgdGhpcy5pbmNsdWRlTmV0aWQgPSBzdHJlYW0ucmVhZEJvb2xlYW4oKTtcbiAgICAgICAgICAgIHRoaXMuaW5jbHVkZU5ldGlkICYmICh0aGlzLm5ldElkVmFyaWFudCA9IHN0cmVhbS5yZWFkVmFySW50KCkpO1xuICAgICAgICAgICAgdGhpcy5ibG9ja1J1bnRpbWVJZCA9IHN0cmVhbS5yZWFkVmFySW50KCk7XG4gICAgICAgICAgICB0aGlzLnVzZXJEYXRhQnVmZmVyID0gc3RyZWFtLnJlYWRMZW5ndGhQcmVmaXhlZCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBWUEsTUFBcUIsbUNBQW1DLGdCQUFpQixDQUFBO0FBQUEsRUFNOUQsV0FBQSxDQUNJLElBQ0EsU0FDQSxFQUFBLFFBQUEsRUFDQSxjQUNBLGNBQ1AsRUFBQSxNQUFBLEdBQTJDLEVBQzdDLEVBQUE7QUFDRSxJQUFNLEtBQUEsRUFBQSxDQUFBO0FBUEMsSUFBQSxJQUFBLENBQUEsRUFBQSxHQUFBLEVBQUEsQ0FBQTtBQUNBLElBQUEsSUFBQSxDQUFBLFNBQUEsR0FBQSxTQUFBLENBQUE7QUFDQSxJQUFBLElBQUEsQ0FBQSxRQUFBLEdBQUEsUUFBQSxDQUFBO0FBQ0EsSUFBQSxJQUFBLENBQUEsWUFBQSxHQUFBLFlBQUEsQ0FBQTtBQUNBLElBQUEsSUFBQSxDQUFBLGNBQUEsR0FBQSxjQUFBLENBQUE7QUFJUCxJQUFLLElBQUEsQ0FBQSxZQUFBLEdBQWUsT0FBTyxZQUFnQixJQUFBLENBQUEsQ0FBQTtBQUMzQyxJQUFBLElBQUEsQ0FBSyxjQUFpQixHQUFBLE1BQUEsQ0FBTyxjQUFpQixHQUFBLE1BQUEsQ0FBTyxZQUFZLENBQUMsQ0FBQSxDQUFBO0FBQUEsR0FDdEU7QUFBQSxFQWhCTyxZQUFBLENBQUE7QUFBQSxFQUNBLGNBQUEsQ0FBQTtBQUFBO0FBQUEsRUFFVSxxQkFBd0IsR0FBQSxDQUFBLENBQUE7QUFBQSxFQWVsQyxVQUFVLE1BQW1DLEVBQUE7QUFDaEQsSUFBTyxNQUFBLENBQUEsV0FBQSxDQUFZLEtBQUssRUFBRSxDQUFBLENBQUE7QUFDMUIsSUFBSSxJQUFBLElBQUEsQ0FBSyxFQUFPLEtBQUEsSUFBQSxDQUFLLHFCQUF1QixFQUFBO0FBQ3hDLE1BQU8sTUFBQSxDQUFBLFlBQUEsQ0FBYSxLQUFLLFNBQVMsQ0FBQSxDQUFBO0FBQ2xDLE1BQU8sTUFBQSxDQUFBLG1CQUFBLENBQW9CLEtBQUssUUFBUSxDQUFBLENBQUE7QUFDeEMsTUFBTyxNQUFBLENBQUEsWUFBQSxDQUFhLEtBQUssWUFBWSxDQUFBLENBQUE7QUFDckMsTUFBQSxJQUFBLENBQUssWUFBZ0IsSUFBQSxNQUFBLENBQU8sV0FBWSxDQUFBLElBQUEsQ0FBSyxZQUFZLENBQUEsQ0FBQTtBQUN6RCxNQUFPLE1BQUEsQ0FBQSxXQUFBLENBQVksS0FBSyxjQUFjLENBQUEsQ0FBQTtBQUN0QyxNQUFPLE1BQUEsQ0FBQSxtQkFBQSxDQUFvQixLQUFLLGNBQWMsQ0FBQSxDQUFBO0FBQUEsS0FDbEQ7QUFBQSxHQUNKO0FBQUEsRUFFTyxZQUFZLE1BQW1DLEVBQUE7QUFDbEQsSUFBSyxJQUFBLENBQUEsRUFBQSxHQUFLLE9BQU8sVUFBVyxFQUFBLENBQUE7QUFDNUIsSUFBSSxJQUFBLElBQUEsQ0FBSyxFQUFPLEtBQUEsSUFBQSxDQUFLLHFCQUF1QixFQUFBO0FBQ3hDLE1BQUssSUFBQSxDQUFBLFNBQUEsR0FBWSxPQUFPLFdBQVksRUFBQSxDQUFBO0FBQ3BDLE1BQUssSUFBQSxDQUFBLFFBQUEsR0FBVyxPQUFPLGtCQUFtQixFQUFBLENBQUE7QUFDMUMsTUFBSyxJQUFBLENBQUEsWUFBQSxHQUFlLE9BQU8sV0FBWSxFQUFBLENBQUE7QUFDdkMsTUFBQSxJQUFBLENBQUssWUFBaUIsS0FBQSxJQUFBLENBQUssWUFBZSxHQUFBLE1BQUEsQ0FBTyxVQUFXLEVBQUEsQ0FBQSxDQUFBO0FBQzVELE1BQUssSUFBQSxDQUFBLGNBQUEsR0FBaUIsT0FBTyxVQUFXLEVBQUEsQ0FBQTtBQUN4QyxNQUFLLElBQUEsQ0FBQSxjQUFBLEdBQWlCLE9BQU8sa0JBQW1CLEVBQUEsQ0FBQTtBQUFBLEtBQ3BEO0FBQUEsR0FDSjtBQUNKOzs7OyJ9
|
|
@@ -0,0 +1,31 @@
|
|
|
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 PropertySyncData extends NetworkStructure.default {
|
|
8
|
+
/**
|
|
9
|
+
* Represents the data structure for synchronizing properties over the network.
|
|
10
|
+
* @param intEntriesList - An array of tuples representing integer entries.
|
|
11
|
+
* @param floatEntriesList - An array of tuples representing float entries.
|
|
12
|
+
*/
|
|
13
|
+
constructor(intEntriesList, floatEntriesList) {
|
|
14
|
+
super();
|
|
15
|
+
this.intEntriesList = intEntriesList;
|
|
16
|
+
this.floatEntriesList = floatEntriesList;
|
|
17
|
+
}
|
|
18
|
+
serialize(stream) {
|
|
19
|
+
stream.writeUnsignedVarInt(this.intEntriesList.length);
|
|
20
|
+
for (const entry of this.intEntriesList) {
|
|
21
|
+
stream.writeUnsignedVarInt(entry[0]);
|
|
22
|
+
stream.writeVarInt(entry[1]);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
deserialize(stream) {
|
|
26
|
+
throw new Error("Method not implemented.");
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
exports.default = PropertySyncData;
|
|
31
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvcGVydHlTeW5jRGF0YS5janMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJ1Y3R1cmUvUHJvcGVydHlTeW5jRGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE5ldHdvcmtCaW5hcnlTdHJlYW0gfSBmcm9tICcuLi8nO1xuaW1wb3J0IHsgTmV0d29ya1N0cnVjdHVyZSB9IGZyb20gJy4uLyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG5ldHdvcmsgc3RydWN0dXJlIG9mIHByb3BlcnR5IHN5bmMgZGF0YS5cbiAqIHtAbGluayBodHRwczovL21vamFuZy5naXRodWIuaW8vYmVkcm9jay1wcm90b2NvbC1kb2NzL2h0bWwvUHJvcGVydHlTeW5jRGF0YS5odG1sfVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQcm9wZXJ0eVN5bmNEYXRhIGV4dGVuZHMgTmV0d29ya1N0cnVjdHVyZSB7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyB0aGUgZGF0YSBzdHJ1Y3R1cmUgZm9yIHN5bmNocm9uaXppbmcgcHJvcGVydGllcyBvdmVyIHRoZSBuZXR3b3JrLlxuICAgICAqIEBwYXJhbSBpbnRFbnRyaWVzTGlzdCAtIEFuIGFycmF5IG9mIHR1cGxlcyByZXByZXNlbnRpbmcgaW50ZWdlciBlbnRyaWVzLlxuICAgICAqIEBwYXJhbSBmbG9hdEVudHJpZXNMaXN0IC0gQW4gYXJyYXkgb2YgdHVwbGVzIHJlcHJlc2VudGluZyBmbG9hdCBlbnRyaWVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgLy8gW3Byb3BlcnR5IGluZGV4LCBkYXRhXVxuICAgICAgICBwdWJsaWMgaW50RW50cmllc0xpc3Q6IEFycmF5PFtudW1iZXIsIG51bWJlcl0+LFxuICAgICAgICBwdWJsaWMgZmxvYXRFbnRyaWVzTGlzdDogQXJyYXk8W251bWJlciwgbnVtYmVyXT5cbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VyaWFsaXplKHN0cmVhbTogTmV0d29ya0JpbmFyeVN0cmVhbSk6IHZvaWQge1xuICAgICAgICBzdHJlYW0ud3JpdGVVbnNpZ25lZFZhckludCh0aGlzLmludEVudHJpZXNMaXN0Lmxlbmd0aCk7XG4gICAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgdGhpcy5pbnRFbnRyaWVzTGlzdCkge1xuICAgICAgICAgICAgc3RyZWFtLndyaXRlVW5zaWduZWRWYXJJbnQoZW50cnlbMF0pO1xuICAgICAgICAgICAgc3RyZWFtLndyaXRlVmFySW50KGVudHJ5WzFdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBkZXNlcmlhbGl6ZShzdHJlYW06IE5ldHdvcmtCaW5hcnlTdHJlYW0pOiB2b2lkIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJOZXR3b3JrU3RydWN0dXJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFPQSxNQUFxQix5QkFBeUJBLHdCQUFpQixDQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTXBELFdBQUEsQ0FFSSxnQkFDQSxnQkFDVCxFQUFBO0FBQ0UsSUFBTSxLQUFBLEVBQUEsQ0FBQTtBQUhDLElBQUEsSUFBQSxDQUFBLGNBQUEsR0FBQSxjQUFBLENBQUE7QUFDQSxJQUFBLElBQUEsQ0FBQSxnQkFBQSxHQUFBLGdCQUFBLENBQUE7QUFBQSxHQUdYO0FBQUEsRUFFTyxVQUFVLE1BQW1DLEVBQUE7QUFDaEQsSUFBTyxNQUFBLENBQUEsbUJBQUEsQ0FBb0IsSUFBSyxDQUFBLGNBQUEsQ0FBZSxNQUFNLENBQUEsQ0FBQTtBQUNyRCxJQUFXLEtBQUEsTUFBQSxLQUFBLElBQVMsS0FBSyxjQUFnQixFQUFBO0FBQ3JDLE1BQU8sTUFBQSxDQUFBLG1CQUFBLENBQW9CLEtBQU0sQ0FBQSxDQUFDLENBQUMsQ0FBQSxDQUFBO0FBQ25DLE1BQU8sTUFBQSxDQUFBLFdBQUEsQ0FBWSxLQUFNLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQTtBQUFBLEtBQy9CO0FBQUEsR0FDSjtBQUFBLEVBRU8sWUFBWSxNQUFtQyxFQUFBO0FBQ2xELElBQU0sTUFBQSxJQUFJLE1BQU0seUJBQXlCLENBQUEsQ0FBQTtBQUFBLEdBQzdDO0FBQ0o7Ozs7In0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NetworkBinaryStream, NetworkStructure } from '../';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Represents a network structure of property sync data.
|
|
5
|
+
* {@link https://mojang.github.io/bedrock-protocol-docs/html/PropertySyncData.html}
|
|
6
|
+
*/
|
|
7
|
+
export default class PropertySyncData extends NetworkStructure {
|
|
8
|
+
intEntriesList: Array<[number, number]>;
|
|
9
|
+
floatEntriesList: Array<[number, number]>;
|
|
10
|
+
/**
|
|
11
|
+
* Represents the data structure for synchronizing properties over the network.
|
|
12
|
+
* @param intEntriesList - An array of tuples representing integer entries.
|
|
13
|
+
* @param floatEntriesList - An array of tuples representing float entries.
|
|
14
|
+
*/
|
|
15
|
+
constructor(intEntriesList: Array<[number, number]>, floatEntriesList: Array<[number, number]>);
|
|
16
|
+
serialize(stream: NetworkBinaryStream): void;
|
|
17
|
+
deserialize(stream: NetworkBinaryStream): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=PropertySyncData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertySyncData.d.ts","sourceRoot":"","sources":["../../src/structure/PropertySyncData.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,gBAAiB,SAAQ,gBAAgB;IAQ/C,cAAc,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,gBAAgB,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IARpD;;;;OAIG;gBAGQ,cAAc,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACvC,gBAAgB,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAK7C,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAQ5C,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;CAGxD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import NetworkStructure from '../NetworkStructure.es.js';
|
|
2
|
+
|
|
3
|
+
class PropertySyncData extends NetworkStructure {
|
|
4
|
+
/**
|
|
5
|
+
* Represents the data structure for synchronizing properties over the network.
|
|
6
|
+
* @param intEntriesList - An array of tuples representing integer entries.
|
|
7
|
+
* @param floatEntriesList - An array of tuples representing float entries.
|
|
8
|
+
*/
|
|
9
|
+
constructor(intEntriesList, floatEntriesList) {
|
|
10
|
+
super();
|
|
11
|
+
this.intEntriesList = intEntriesList;
|
|
12
|
+
this.floatEntriesList = floatEntriesList;
|
|
13
|
+
}
|
|
14
|
+
serialize(stream) {
|
|
15
|
+
stream.writeUnsignedVarInt(this.intEntriesList.length);
|
|
16
|
+
for (const entry of this.intEntriesList) {
|
|
17
|
+
stream.writeUnsignedVarInt(entry[0]);
|
|
18
|
+
stream.writeVarInt(entry[1]);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
deserialize(stream) {
|
|
22
|
+
throw new Error("Method not implemented.");
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { PropertySyncData as default };
|
|
27
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvcGVydHlTeW5jRGF0YS5lcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cnVjdHVyZS9Qcm9wZXJ0eVN5bmNEYXRhLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTmV0d29ya0JpbmFyeVN0cmVhbSB9IGZyb20gJy4uLyc7XG5pbXBvcnQgeyBOZXR3b3JrU3RydWN0dXJlIH0gZnJvbSAnLi4vJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbmV0d29yayBzdHJ1Y3R1cmUgb2YgcHJvcGVydHkgc3luYyBkYXRhLlxuICoge0BsaW5rIGh0dHBzOi8vbW9qYW5nLmdpdGh1Yi5pby9iZWRyb2NrLXByb3RvY29sLWRvY3MvaHRtbC9Qcm9wZXJ0eVN5bmNEYXRhLmh0bWx9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFByb3BlcnR5U3luY0RhdGEgZXh0ZW5kcyBOZXR3b3JrU3RydWN0dXJlIHtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBkYXRhIHN0cnVjdHVyZSBmb3Igc3luY2hyb25pemluZyBwcm9wZXJ0aWVzIG92ZXIgdGhlIG5ldHdvcmsuXG4gICAgICogQHBhcmFtIGludEVudHJpZXNMaXN0IC0gQW4gYXJyYXkgb2YgdHVwbGVzIHJlcHJlc2VudGluZyBpbnRlZ2VyIGVudHJpZXMuXG4gICAgICogQHBhcmFtIGZsb2F0RW50cmllc0xpc3QgLSBBbiBhcnJheSBvZiB0dXBsZXMgcmVwcmVzZW50aW5nIGZsb2F0IGVudHJpZXMuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICAvLyBbcHJvcGVydHkgaW5kZXgsIGRhdGFdXG4gICAgICAgIHB1YmxpYyBpbnRFbnRyaWVzTGlzdDogQXJyYXk8W251bWJlciwgbnVtYmVyXT4sXG4gICAgICAgIHB1YmxpYyBmbG9hdEVudHJpZXNMaXN0OiBBcnJheTxbbnVtYmVyLCBudW1iZXJdPlxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXJpYWxpemUoc3RyZWFtOiBOZXR3b3JrQmluYXJ5U3RyZWFtKTogdm9pZCB7XG4gICAgICAgIHN0cmVhbS53cml0ZVVuc2lnbmVkVmFySW50KHRoaXMuaW50RW50cmllc0xpc3QubGVuZ3RoKTtcbiAgICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiB0aGlzLmludEVudHJpZXNMaXN0KSB7XG4gICAgICAgICAgICBzdHJlYW0ud3JpdGVVbnNpZ25lZFZhckludChlbnRyeVswXSk7XG4gICAgICAgICAgICBzdHJlYW0ud3JpdGVWYXJJbnQoZW50cnlbMV0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGRlc2VyaWFsaXplKHN0cmVhbTogTmV0d29ya0JpbmFyeVN0cmVhbSk6IHZvaWQge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0EsTUFBcUIseUJBQXlCLGdCQUFpQixDQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTXBELFdBQUEsQ0FFSSxnQkFDQSxnQkFDVCxFQUFBO0FBQ0UsSUFBTSxLQUFBLEVBQUEsQ0FBQTtBQUhDLElBQUEsSUFBQSxDQUFBLGNBQUEsR0FBQSxjQUFBLENBQUE7QUFDQSxJQUFBLElBQUEsQ0FBQSxnQkFBQSxHQUFBLGdCQUFBLENBQUE7QUFBQSxHQUdYO0FBQUEsRUFFTyxVQUFVLE1BQW1DLEVBQUE7QUFDaEQsSUFBTyxNQUFBLENBQUEsbUJBQUEsQ0FBb0IsSUFBSyxDQUFBLGNBQUEsQ0FBZSxNQUFNLENBQUEsQ0FBQTtBQUNyRCxJQUFXLEtBQUEsTUFBQSxLQUFBLElBQVMsS0FBSyxjQUFnQixFQUFBO0FBQ3JDLE1BQU8sTUFBQSxDQUFBLG1CQUFBLENBQW9CLEtBQU0sQ0FBQSxDQUFDLENBQUMsQ0FBQSxDQUFBO0FBQ25DLE1BQU8sTUFBQSxDQUFBLFdBQUEsQ0FBWSxLQUFNLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQTtBQUFBLEtBQy9CO0FBQUEsR0FDSjtBQUFBLEVBRU8sWUFBWSxNQUFtQyxFQUFBO0FBQ2xELElBQU0sTUFBQSxJQUFJLE1BQU0seUJBQXlCLENBQUEsQ0FBQTtBQUFBLEdBQzdDO0FBQ0o7Ozs7In0=
|
|
@@ -0,0 +1,39 @@
|
|
|
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_SerializedAbilityLayer = require('./SerializedAbilityLayer.cjs.js');
|
|
7
|
+
|
|
8
|
+
class SerializedAbilitiesData extends NetworkStructure.default {
|
|
9
|
+
constructor(targetPlayerRawId, mPlayerPermissions, mCommandPermissions, layers) {
|
|
10
|
+
super();
|
|
11
|
+
this.targetPlayerRawId = targetPlayerRawId;
|
|
12
|
+
this.mPlayerPermissions = mPlayerPermissions;
|
|
13
|
+
this.mCommandPermissions = mCommandPermissions;
|
|
14
|
+
this.layers = layers ?? [];
|
|
15
|
+
}
|
|
16
|
+
layers;
|
|
17
|
+
serialize(stream) {
|
|
18
|
+
stream.writeLongLE(this.targetPlayerRawId);
|
|
19
|
+
stream.writeByte(this.mPlayerPermissions);
|
|
20
|
+
stream.writeByte(this.mCommandPermissions);
|
|
21
|
+
stream.writeUnsignedVarInt(this.layers.length);
|
|
22
|
+
for (const layer of this.layers) {
|
|
23
|
+
layer.serialize(stream);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
deserialize(stream) {
|
|
27
|
+
this.targetPlayerRawId = stream.readLongLE();
|
|
28
|
+
this.mPlayerPermissions = stream.readByte();
|
|
29
|
+
this.mCommandPermissions = stream.readByte();
|
|
30
|
+
const layersCount = stream.readUnsignedVarInt();
|
|
31
|
+
this.layers = new Array(layersCount);
|
|
32
|
+
for (let i = 0; i < layersCount; i++) {
|
|
33
|
+
this.layers[i] = structure_SerializedAbilityLayer.default.deserialize(stream);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
exports.default = SerializedAbilitiesData;
|
|
39
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VyaWFsaXplZEFiaWxpdGllc0RhdGEuY2pzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RydWN0dXJlL1NlcmlhbGl6ZWRBYmlsaXRpZXNEYXRhLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTmV0d29ya0JpbmFyeVN0cmVhbSB9IGZyb20gJy4uLyc7XG5pbXBvcnQgeyBOZXR3b3JrU3RydWN0dXJlIH0gZnJvbSAnLi4vJztcbmltcG9ydCB0eXBlIHsgQ29tbWFuZFBlcm1pc3Npb25MZXZlbCwgUGxheWVyUGVybWlzc2lvbkxldmVsIH0gZnJvbSAnQGpzcHJpc21hcmluZS9taW5lY3JhZnQnO1xuaW1wb3J0IFNlcmlhbGl6ZWRBYmlsaXR5TGF5ZXIgZnJvbSAnLi9TZXJpYWxpemVkQWJpbGl0eUxheWVyJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2VyaWFsaXplZEFiaWxpdGllc0RhdGEgZXh0ZW5kcyBOZXR3b3JrU3RydWN0dXJlIHtcbiAgICBwdWJsaWMgbGF5ZXJzOiBBcnJheTxTZXJpYWxpemVkQWJpbGl0eUxheWVyPjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHRhcmdldFBsYXllclJhd0lkOiBiaWdpbnQsXG4gICAgICAgIHB1YmxpYyBtUGxheWVyUGVybWlzc2lvbnM6IFBsYXllclBlcm1pc3Npb25MZXZlbCxcbiAgICAgICAgcHVibGljIG1Db21tYW5kUGVybWlzc2lvbnM6IENvbW1hbmRQZXJtaXNzaW9uTGV2ZWwsXG4gICAgICAgIGxheWVycz86IEFycmF5PFNlcmlhbGl6ZWRBYmlsaXR5TGF5ZXI+XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMubGF5ZXJzID0gbGF5ZXJzID8/IFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXJpYWxpemUoc3RyZWFtOiBOZXR3b3JrQmluYXJ5U3RyZWFtKTogdm9pZCB7XG4gICAgICAgIHN0cmVhbS53cml0ZUxvbmdMRSh0aGlzLnRhcmdldFBsYXllclJhd0lkKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQnl0ZSh0aGlzLm1QbGF5ZXJQZXJtaXNzaW9ucyk7XG4gICAgICAgIHN0cmVhbS53cml0ZUJ5dGUodGhpcy5tQ29tbWFuZFBlcm1pc3Npb25zKTtcbiAgICAgICAgc3RyZWFtLndyaXRlVW5zaWduZWRWYXJJbnQodGhpcy5sYXllcnMubGVuZ3RoKTtcbiAgICAgICAgZm9yIChjb25zdCBsYXllciBvZiB0aGlzLmxheWVycykge1xuICAgICAgICAgICAgbGF5ZXIuc2VyaWFsaXplKHN0cmVhbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzZXJpYWxpemUoc3RyZWFtOiBOZXR3b3JrQmluYXJ5U3RyZWFtKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFyZ2V0UGxheWVyUmF3SWQgPSBzdHJlYW0ucmVhZExvbmdMRSgpO1xuICAgICAgICB0aGlzLm1QbGF5ZXJQZXJtaXNzaW9ucyA9IHN0cmVhbS5yZWFkQnl0ZSgpO1xuICAgICAgICB0aGlzLm1Db21tYW5kUGVybWlzc2lvbnMgPSBzdHJlYW0ucmVhZEJ5dGUoKTtcbiAgICAgICAgY29uc3QgbGF5ZXJzQ291bnQgPSBzdHJlYW0ucmVhZFVuc2lnbmVkVmFySW50KCk7XG4gICAgICAgIHRoaXMubGF5ZXJzID0gbmV3IEFycmF5KGxheWVyc0NvdW50KTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsYXllcnNDb3VudDsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzLmxheWVyc1tpXSA9IFNlcmlhbGl6ZWRBYmlsaXR5TGF5ZXIuZGVzZXJpYWxpemUoc3RyZWFtKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJOZXR3b3JrU3RydWN0dXJlIiwiU2VyaWFsaXplZEFiaWxpdHlMYXllciJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUtBLE1BQXFCLGdDQUFnQ0Esd0JBQWlCLENBQUE7QUFBQSxFQUczRCxXQUNJLENBQUEsaUJBQUEsRUFDQSxrQkFDQSxFQUFBLG1CQUFBLEVBQ1AsTUFDRixFQUFBO0FBQ0UsSUFBTSxLQUFBLEVBQUEsQ0FBQTtBQUxDLElBQUEsSUFBQSxDQUFBLGlCQUFBLEdBQUEsaUJBQUEsQ0FBQTtBQUNBLElBQUEsSUFBQSxDQUFBLGtCQUFBLEdBQUEsa0JBQUEsQ0FBQTtBQUNBLElBQUEsSUFBQSxDQUFBLG1CQUFBLEdBQUEsbUJBQUEsQ0FBQTtBQUlQLElBQUssSUFBQSxDQUFBLE1BQUEsR0FBUyxVQUFVLEVBQUMsQ0FBQTtBQUFBLEdBQzdCO0FBQUEsRUFWTyxNQUFBLENBQUE7QUFBQSxFQVlBLFVBQVUsTUFBbUMsRUFBQTtBQUNoRCxJQUFPLE1BQUEsQ0FBQSxXQUFBLENBQVksS0FBSyxpQkFBaUIsQ0FBQSxDQUFBO0FBQ3pDLElBQU8sTUFBQSxDQUFBLFNBQUEsQ0FBVSxLQUFLLGtCQUFrQixDQUFBLENBQUE7QUFDeEMsSUFBTyxNQUFBLENBQUEsU0FBQSxDQUFVLEtBQUssbUJBQW1CLENBQUEsQ0FBQTtBQUN6QyxJQUFPLE1BQUEsQ0FBQSxtQkFBQSxDQUFvQixJQUFLLENBQUEsTUFBQSxDQUFPLE1BQU0sQ0FBQSxDQUFBO0FBQzdDLElBQVcsS0FBQSxNQUFBLEtBQUEsSUFBUyxLQUFLLE1BQVEsRUFBQTtBQUM3QixNQUFBLEtBQUEsQ0FBTSxVQUFVLE1BQU0sQ0FBQSxDQUFBO0FBQUEsS0FDMUI7QUFBQSxHQUNKO0FBQUEsRUFFTyxZQUFZLE1BQW1DLEVBQUE7QUFDbEQsSUFBSyxJQUFBLENBQUEsaUJBQUEsR0FBb0IsT0FBTyxVQUFXLEVBQUEsQ0FBQTtBQUMzQyxJQUFLLElBQUEsQ0FBQSxrQkFBQSxHQUFxQixPQUFPLFFBQVMsRUFBQSxDQUFBO0FBQzFDLElBQUssSUFBQSxDQUFBLG1CQUFBLEdBQXNCLE9BQU8sUUFBUyxFQUFBLENBQUE7QUFDM0MsSUFBTSxNQUFBLFdBQUEsR0FBYyxPQUFPLGtCQUFtQixFQUFBLENBQUE7QUFDOUMsSUFBSyxJQUFBLENBQUEsTUFBQSxHQUFTLElBQUksS0FBQSxDQUFNLFdBQVcsQ0FBQSxDQUFBO0FBQ25DLElBQUEsS0FBQSxJQUFTLENBQUksR0FBQSxDQUFBLEVBQUcsQ0FBSSxHQUFBLFdBQUEsRUFBYSxDQUFLLEVBQUEsRUFBQTtBQUNsQyxNQUFBLElBQUEsQ0FBSyxNQUFPLENBQUEsQ0FBQyxDQUFJLEdBQUFDLHdDQUFBLENBQXVCLFlBQVksTUFBTSxDQUFBLENBQUE7QUFBQSxLQUM5RDtBQUFBLEdBQ0o7QUFDSjs7OzsifQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { default as SerializedAbilityLayer } from './SerializedAbilityLayer';
|
|
2
|
+
import { CommandPermissionLevel, PlayerPermissionLevel } from '@jsprismarine/minecraft';
|
|
3
|
+
import { NetworkBinaryStream, NetworkStructure } from '../';
|
|
4
|
+
|
|
5
|
+
export default class SerializedAbilitiesData extends NetworkStructure {
|
|
6
|
+
targetPlayerRawId: bigint;
|
|
7
|
+
mPlayerPermissions: PlayerPermissionLevel;
|
|
8
|
+
mCommandPermissions: CommandPermissionLevel;
|
|
9
|
+
layers: Array<SerializedAbilityLayer>;
|
|
10
|
+
constructor(targetPlayerRawId: bigint, mPlayerPermissions: PlayerPermissionLevel, mCommandPermissions: CommandPermissionLevel, layers?: Array<SerializedAbilityLayer>);
|
|
11
|
+
serialize(stream: NetworkBinaryStream): void;
|
|
12
|
+
deserialize(stream: NetworkBinaryStream): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=SerializedAbilitiesData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SerializedAbilitiesData.d.ts","sourceRoot":"","sources":["../../src/structure/SerializedAbilitiesData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,gBAAgB;IAItD,iBAAiB,EAAE,MAAM;IACzB,kBAAkB,EAAE,qBAAqB;IACzC,mBAAmB,EAAE,sBAAsB;IAL/C,MAAM,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAGlC,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,qBAAqB,EACzC,mBAAmB,EAAE,sBAAsB,EAClD,MAAM,CAAC,EAAE,KAAK,CAAC,sBAAsB,CAAC;IAMnC,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAU5C,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;CAUxD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import NetworkStructure from '../NetworkStructure.es.js';
|
|
2
|
+
import SerializedAbilityLayer from './SerializedAbilityLayer.es.js';
|
|
3
|
+
|
|
4
|
+
class SerializedAbilitiesData extends NetworkStructure {
|
|
5
|
+
constructor(targetPlayerRawId, mPlayerPermissions, mCommandPermissions, layers) {
|
|
6
|
+
super();
|
|
7
|
+
this.targetPlayerRawId = targetPlayerRawId;
|
|
8
|
+
this.mPlayerPermissions = mPlayerPermissions;
|
|
9
|
+
this.mCommandPermissions = mCommandPermissions;
|
|
10
|
+
this.layers = layers ?? [];
|
|
11
|
+
}
|
|
12
|
+
layers;
|
|
13
|
+
serialize(stream) {
|
|
14
|
+
stream.writeLongLE(this.targetPlayerRawId);
|
|
15
|
+
stream.writeByte(this.mPlayerPermissions);
|
|
16
|
+
stream.writeByte(this.mCommandPermissions);
|
|
17
|
+
stream.writeUnsignedVarInt(this.layers.length);
|
|
18
|
+
for (const layer of this.layers) {
|
|
19
|
+
layer.serialize(stream);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
deserialize(stream) {
|
|
23
|
+
this.targetPlayerRawId = stream.readLongLE();
|
|
24
|
+
this.mPlayerPermissions = stream.readByte();
|
|
25
|
+
this.mCommandPermissions = stream.readByte();
|
|
26
|
+
const layersCount = stream.readUnsignedVarInt();
|
|
27
|
+
this.layers = new Array(layersCount);
|
|
28
|
+
for (let i = 0; i < layersCount; i++) {
|
|
29
|
+
this.layers[i] = SerializedAbilityLayer.deserialize(stream);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export { SerializedAbilitiesData as default };
|
|
35
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VyaWFsaXplZEFiaWxpdGllc0RhdGEuZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJ1Y3R1cmUvU2VyaWFsaXplZEFiaWxpdGllc0RhdGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOZXR3b3JrQmluYXJ5U3RyZWFtIH0gZnJvbSAnLi4vJztcbmltcG9ydCB7IE5ldHdvcmtTdHJ1Y3R1cmUgfSBmcm9tICcuLi8nO1xuaW1wb3J0IHR5cGUgeyBDb21tYW5kUGVybWlzc2lvbkxldmVsLCBQbGF5ZXJQZXJtaXNzaW9uTGV2ZWwgfSBmcm9tICdAanNwcmlzbWFyaW5lL21pbmVjcmFmdCc7XG5pbXBvcnQgU2VyaWFsaXplZEFiaWxpdHlMYXllciBmcm9tICcuL1NlcmlhbGl6ZWRBYmlsaXR5TGF5ZXInO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZXJpYWxpemVkQWJpbGl0aWVzRGF0YSBleHRlbmRzIE5ldHdvcmtTdHJ1Y3R1cmUge1xuICAgIHB1YmxpYyBsYXllcnM6IEFycmF5PFNlcmlhbGl6ZWRBYmlsaXR5TGF5ZXI+O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdGFyZ2V0UGxheWVyUmF3SWQ6IGJpZ2ludCxcbiAgICAgICAgcHVibGljIG1QbGF5ZXJQZXJtaXNzaW9uczogUGxheWVyUGVybWlzc2lvbkxldmVsLFxuICAgICAgICBwdWJsaWMgbUNvbW1hbmRQZXJtaXNzaW9uczogQ29tbWFuZFBlcm1pc3Npb25MZXZlbCxcbiAgICAgICAgbGF5ZXJzPzogQXJyYXk8U2VyaWFsaXplZEFiaWxpdHlMYXllcj5cbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5sYXllcnMgPSBsYXllcnMgPz8gW107XG4gICAgfVxuXG4gICAgcHVibGljIHNlcmlhbGl6ZShzdHJlYW06IE5ldHdvcmtCaW5hcnlTdHJlYW0pOiB2b2lkIHtcbiAgICAgICAgc3RyZWFtLndyaXRlTG9uZ0xFKHRoaXMudGFyZ2V0UGxheWVyUmF3SWQpO1xuICAgICAgICBzdHJlYW0ud3JpdGVCeXRlKHRoaXMubVBsYXllclBlcm1pc3Npb25zKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQnl0ZSh0aGlzLm1Db21tYW5kUGVybWlzc2lvbnMpO1xuICAgICAgICBzdHJlYW0ud3JpdGVVbnNpZ25lZFZhckludCh0aGlzLmxheWVycy5sZW5ndGgpO1xuICAgICAgICBmb3IgKGNvbnN0IGxheWVyIG9mIHRoaXMubGF5ZXJzKSB7XG4gICAgICAgICAgICBsYXllci5zZXJpYWxpemUoc3RyZWFtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBkZXNlcmlhbGl6ZShzdHJlYW06IE5ldHdvcmtCaW5hcnlTdHJlYW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YXJnZXRQbGF5ZXJSYXdJZCA9IHN0cmVhbS5yZWFkTG9uZ0xFKCk7XG4gICAgICAgIHRoaXMubVBsYXllclBlcm1pc3Npb25zID0gc3RyZWFtLnJlYWRCeXRlKCk7XG4gICAgICAgIHRoaXMubUNvbW1hbmRQZXJtaXNzaW9ucyA9IHN0cmVhbS5yZWFkQnl0ZSgpO1xuICAgICAgICBjb25zdCBsYXllcnNDb3VudCA9IHN0cmVhbS5yZWFkVW5zaWduZWRWYXJJbnQoKTtcbiAgICAgICAgdGhpcy5sYXllcnMgPSBuZXcgQXJyYXkobGF5ZXJzQ291bnQpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxheWVyc0NvdW50OyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMubGF5ZXJzW2ldID0gU2VyaWFsaXplZEFiaWxpdHlMYXllci5kZXNlcmlhbGl6ZShzdHJlYW0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLE1BQXFCLGdDQUFnQyxnQkFBaUIsQ0FBQTtBQUFBLEVBRzNELFdBQ0ksQ0FBQSxpQkFBQSxFQUNBLGtCQUNBLEVBQUEsbUJBQUEsRUFDUCxNQUNGLEVBQUE7QUFDRSxJQUFNLEtBQUEsRUFBQSxDQUFBO0FBTEMsSUFBQSxJQUFBLENBQUEsaUJBQUEsR0FBQSxpQkFBQSxDQUFBO0FBQ0EsSUFBQSxJQUFBLENBQUEsa0JBQUEsR0FBQSxrQkFBQSxDQUFBO0FBQ0EsSUFBQSxJQUFBLENBQUEsbUJBQUEsR0FBQSxtQkFBQSxDQUFBO0FBSVAsSUFBSyxJQUFBLENBQUEsTUFBQSxHQUFTLFVBQVUsRUFBQyxDQUFBO0FBQUEsR0FDN0I7QUFBQSxFQVZPLE1BQUEsQ0FBQTtBQUFBLEVBWUEsVUFBVSxNQUFtQyxFQUFBO0FBQ2hELElBQU8sTUFBQSxDQUFBLFdBQUEsQ0FBWSxLQUFLLGlCQUFpQixDQUFBLENBQUE7QUFDekMsSUFBTyxNQUFBLENBQUEsU0FBQSxDQUFVLEtBQUssa0JBQWtCLENBQUEsQ0FBQTtBQUN4QyxJQUFPLE1BQUEsQ0FBQSxTQUFBLENBQVUsS0FBSyxtQkFBbUIsQ0FBQSxDQUFBO0FBQ3pDLElBQU8sTUFBQSxDQUFBLG1CQUFBLENBQW9CLElBQUssQ0FBQSxNQUFBLENBQU8sTUFBTSxDQUFBLENBQUE7QUFDN0MsSUFBVyxLQUFBLE1BQUEsS0FBQSxJQUFTLEtBQUssTUFBUSxFQUFBO0FBQzdCLE1BQUEsS0FBQSxDQUFNLFVBQVUsTUFBTSxDQUFBLENBQUE7QUFBQSxLQUMxQjtBQUFBLEdBQ0o7QUFBQSxFQUVPLFlBQVksTUFBbUMsRUFBQTtBQUNsRCxJQUFLLElBQUEsQ0FBQSxpQkFBQSxHQUFvQixPQUFPLFVBQVcsRUFBQSxDQUFBO0FBQzNDLElBQUssSUFBQSxDQUFBLGtCQUFBLEdBQXFCLE9BQU8sUUFBUyxFQUFBLENBQUE7QUFDMUMsSUFBSyxJQUFBLENBQUEsbUJBQUEsR0FBc0IsT0FBTyxRQUFTLEVBQUEsQ0FBQTtBQUMzQyxJQUFNLE1BQUEsV0FBQSxHQUFjLE9BQU8sa0JBQW1CLEVBQUEsQ0FBQTtBQUM5QyxJQUFLLElBQUEsQ0FBQSxNQUFBLEdBQVMsSUFBSSxLQUFBLENBQU0sV0FBVyxDQUFBLENBQUE7QUFDbkMsSUFBQSxLQUFBLElBQVMsQ0FBSSxHQUFBLENBQUEsRUFBRyxDQUFJLEdBQUEsV0FBQSxFQUFhLENBQUssRUFBQSxFQUFBO0FBQ2xDLE1BQUEsSUFBQSxDQUFLLE1BQU8sQ0FBQSxDQUFDLENBQUksR0FBQSxzQkFBQSxDQUF1QixZQUFZLE1BQU0sQ0FBQSxDQUFBO0FBQUEsS0FDOUQ7QUFBQSxHQUNKO0FBQ0o7Ozs7In0=
|
|
@@ -0,0 +1,33 @@
|
|
|
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 SerializedAbilityLayer extends NetworkStructure.default {
|
|
8
|
+
constructor(layer, abilitiesSet, abilityValues, flySpeed, walkSpeed) {
|
|
9
|
+
super();
|
|
10
|
+
this.layer = layer;
|
|
11
|
+
this.abilitiesSet = abilitiesSet;
|
|
12
|
+
this.abilityValues = abilityValues;
|
|
13
|
+
this.flySpeed = flySpeed;
|
|
14
|
+
this.walkSpeed = walkSpeed;
|
|
15
|
+
}
|
|
16
|
+
serialize(stream) {
|
|
17
|
+
stream.writeUnsignedShortLE(this.layer);
|
|
18
|
+
stream.writeUnsignedIntLE(this.abilitiesSet);
|
|
19
|
+
stream.writeUnsignedIntLE(this.abilityValues);
|
|
20
|
+
stream.writeFloatLE(this.flySpeed);
|
|
21
|
+
stream.writeFloatLE(this.walkSpeed);
|
|
22
|
+
}
|
|
23
|
+
deserialize(stream) {
|
|
24
|
+
this.layer = stream.readUnsignedShortLE();
|
|
25
|
+
this.abilitiesSet = stream.readUnsignedIntLE();
|
|
26
|
+
this.abilityValues = stream.readUnsignedIntLE();
|
|
27
|
+
this.flySpeed = stream.readFloatLE();
|
|
28
|
+
this.walkSpeed = stream.readFloatLE();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
exports.default = SerializedAbilityLayer;
|
|
33
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VyaWFsaXplZEFiaWxpdHlMYXllci5janMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJ1Y3R1cmUvU2VyaWFsaXplZEFiaWxpdHlMYXllci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE5ldHdvcmtCaW5hcnlTdHJlYW0gfSBmcm9tICcuLi8nO1xuaW1wb3J0IHsgTmV0d29ya1N0cnVjdHVyZSB9IGZyb20gJy4uLyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG5ld3Rvcmsgc2VyaWFsaXplZCBhYmlsaXR5IGxheWVyLlxuICoge0BsaW5rIGh0dHBzOi8vbW9qYW5nLmdpdGh1Yi5pby9iZWRyb2NrLXByb3RvY29sLWRvY3MvaHRtbC9TZXJpYWxpemVkQWJpbGl0aWVzRGF0YV9fU2VyaWFsaXplZExheWVyLmh0bWx9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNlcmlhbGl6ZWRBYmlsaXR5TGF5ZXIgZXh0ZW5kcyBOZXR3b3JrU3RydWN0dXJlIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBsYXllcjogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgYWJpbGl0aWVzU2V0OiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyBhYmlsaXR5VmFsdWVzOiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyBmbHlTcGVlZDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgd2Fsa1NwZWVkOiBudW1iZXJcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VyaWFsaXplKHN0cmVhbTogTmV0d29ya0JpbmFyeVN0cmVhbSk6IHZvaWQge1xuICAgICAgICBzdHJlYW0ud3JpdGVVbnNpZ25lZFNob3J0TEUodGhpcy5sYXllcik7XG4gICAgICAgIHN0cmVhbS53cml0ZVVuc2lnbmVkSW50TEUodGhpcy5hYmlsaXRpZXNTZXQpO1xuICAgICAgICBzdHJlYW0ud3JpdGVVbnNpZ25lZEludExFKHRoaXMuYWJpbGl0eVZhbHVlcyk7XG4gICAgICAgIHN0cmVhbS53cml0ZUZsb2F0TEUodGhpcy5mbHlTcGVlZCk7XG4gICAgICAgIHN0cmVhbS53cml0ZUZsb2F0TEUodGhpcy53YWxrU3BlZWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXNlcmlhbGl6ZShzdHJlYW06IE5ldHdvcmtCaW5hcnlTdHJlYW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sYXllciA9IHN0cmVhbS5yZWFkVW5zaWduZWRTaG9ydExFKCk7XG4gICAgICAgIHRoaXMuYWJpbGl0aWVzU2V0ID0gc3RyZWFtLnJlYWRVbnNpZ25lZEludExFKCk7XG4gICAgICAgIHRoaXMuYWJpbGl0eVZhbHVlcyA9IHN0cmVhbS5yZWFkVW5zaWduZWRJbnRMRSgpO1xuICAgICAgICB0aGlzLmZseVNwZWVkID0gc3RyZWFtLnJlYWRGbG9hdExFKCk7XG4gICAgICAgIHRoaXMud2Fsa1NwZWVkID0gc3RyZWFtLnJlYWRGbG9hdExFKCk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIk5ldHdvcmtTdHJ1Y3R1cmUiXSwibWFwcGluZ3MiOiI7Ozs7OztBQU9BLE1BQXFCLCtCQUErQkEsd0JBQWlCLENBQUE7QUFBQSxFQUMxRCxXQUNJLENBQUEsS0FBQSxFQUNBLFlBQ0EsRUFBQSxhQUFBLEVBQ0EsVUFDQSxTQUNULEVBQUE7QUFDRSxJQUFNLEtBQUEsRUFBQSxDQUFBO0FBTkMsSUFBQSxJQUFBLENBQUEsS0FBQSxHQUFBLEtBQUEsQ0FBQTtBQUNBLElBQUEsSUFBQSxDQUFBLFlBQUEsR0FBQSxZQUFBLENBQUE7QUFDQSxJQUFBLElBQUEsQ0FBQSxhQUFBLEdBQUEsYUFBQSxDQUFBO0FBQ0EsSUFBQSxJQUFBLENBQUEsUUFBQSxHQUFBLFFBQUEsQ0FBQTtBQUNBLElBQUEsSUFBQSxDQUFBLFNBQUEsR0FBQSxTQUFBLENBQUE7QUFBQSxHQUdYO0FBQUEsRUFFTyxVQUFVLE1BQW1DLEVBQUE7QUFDaEQsSUFBTyxNQUFBLENBQUEsb0JBQUEsQ0FBcUIsS0FBSyxLQUFLLENBQUEsQ0FBQTtBQUN0QyxJQUFPLE1BQUEsQ0FBQSxrQkFBQSxDQUFtQixLQUFLLFlBQVksQ0FBQSxDQUFBO0FBQzNDLElBQU8sTUFBQSxDQUFBLGtCQUFBLENBQW1CLEtBQUssYUFBYSxDQUFBLENBQUE7QUFDNUMsSUFBTyxNQUFBLENBQUEsWUFBQSxDQUFhLEtBQUssUUFBUSxDQUFBLENBQUE7QUFDakMsSUFBTyxNQUFBLENBQUEsWUFBQSxDQUFhLEtBQUssU0FBUyxDQUFBLENBQUE7QUFBQSxHQUN0QztBQUFBLEVBRU8sWUFBWSxNQUFtQyxFQUFBO0FBQ2xELElBQUssSUFBQSxDQUFBLEtBQUEsR0FBUSxPQUFPLG1CQUFvQixFQUFBLENBQUE7QUFDeEMsSUFBSyxJQUFBLENBQUEsWUFBQSxHQUFlLE9BQU8saUJBQWtCLEVBQUEsQ0FBQTtBQUM3QyxJQUFLLElBQUEsQ0FBQSxhQUFBLEdBQWdCLE9BQU8saUJBQWtCLEVBQUEsQ0FBQTtBQUM5QyxJQUFLLElBQUEsQ0FBQSxRQUFBLEdBQVcsT0FBTyxXQUFZLEVBQUEsQ0FBQTtBQUNuQyxJQUFLLElBQUEsQ0FBQSxTQUFBLEdBQVksT0FBTyxXQUFZLEVBQUEsQ0FBQTtBQUFBLEdBQ3hDO0FBQ0o7Ozs7In0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { NetworkBinaryStream, NetworkStructure } from '../';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Represents a newtork serialized ability layer.
|
|
5
|
+
* {@link https://mojang.github.io/bedrock-protocol-docs/html/SerializedAbilitiesData__SerializedLayer.html}
|
|
6
|
+
*/
|
|
7
|
+
export default class SerializedAbilityLayer extends NetworkStructure {
|
|
8
|
+
layer: number;
|
|
9
|
+
abilitiesSet: number;
|
|
10
|
+
abilityValues: number;
|
|
11
|
+
flySpeed: number;
|
|
12
|
+
walkSpeed: number;
|
|
13
|
+
constructor(layer: number, abilitiesSet: number, abilityValues: number, flySpeed: number, walkSpeed: number);
|
|
14
|
+
serialize(stream: NetworkBinaryStream): void;
|
|
15
|
+
deserialize(stream: NetworkBinaryStream): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=SerializedAbilityLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SerializedAbilityLayer.d.ts","sourceRoot":"","sources":["../../src/structure/SerializedAbilityLayer.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,sBAAuB,SAAQ,gBAAgB;IAErD,KAAK,EAAE,MAAM;IACb,YAAY,EAAE,MAAM;IACpB,aAAa,EAAE,MAAM;IACrB,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,MAAM;gBAJjB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM;IAKrB,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAQ5C,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;CAOxD"}
|