@jsprismarine/nbt 0.13.1 → 0.13.5
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 +10 -0
- package/package.json +10 -7
- package/dist/Allocation.cjs.cjs +0 -14
- package/dist/Allocation.d.ts +0 -7
- package/dist/Allocation.d.ts.map +0 -1
- package/dist/Allocation.es.js +0 -10
- package/dist/ByteOrder.cjs.cjs +0 -12
- package/dist/ByteOrder.d.ts +0 -5
- package/dist/ByteOrder.d.ts.map +0 -1
- package/dist/ByteOrder.es.js +0 -8
- package/dist/NBTDefinitions.cjs.cjs +0 -22
- package/dist/NBTDefinitions.d.ts +0 -15
- package/dist/NBTDefinitions.d.ts.map +0 -1
- package/dist/NBTDefinitions.es.js +0 -18
- package/dist/NBTReader.cjs.cjs +0 -163
- package/dist/NBTReader.d.ts +0 -12
- package/dist/NBTReader.d.ts.map +0 -1
- package/dist/NBTReader.es.js +0 -159
- package/dist/NBTStreamReader.cjs.cjs +0 -119
- package/dist/NBTStreamReader.d.ts +0 -31
- package/dist/NBTStreamReader.d.ts.map +0 -1
- package/dist/NBTStreamReader.es.js +0 -115
- package/dist/NBTTagCompound.cjs.cjs +0 -151
- package/dist/NBTTagCompound.d.ts +0 -29
- package/dist/NBTTagCompound.d.ts.map +0 -1
- package/dist/NBTTagCompound.es.js +0 -142
- package/dist/NBTWriter.cjs.cjs +0 -238
- package/dist/NBTWriter.d.ts +0 -26
- package/dist/NBTWriter.d.ts.map +0 -1
- package/dist/NBTWriter.es.js +0 -234
- package/dist/index.cjs.cjs +0 -22
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +0 -1
- package/dist/index.es.js +0 -10
- package/dist/types/ByteVal.cjs.cjs +0 -16
- package/dist/types/ByteVal.d.ts +0 -6
- package/dist/types/ByteVal.d.ts.map +0 -1
- package/dist/types/ByteVal.es.js +0 -12
- package/dist/types/DoubleVal.cjs.cjs +0 -16
- package/dist/types/DoubleVal.d.ts +0 -6
- package/dist/types/DoubleVal.d.ts.map +0 -1
- package/dist/types/DoubleVal.es.js +0 -12
- package/dist/types/FloatVal.cjs.cjs +0 -16
- package/dist/types/FloatVal.d.ts +0 -6
- package/dist/types/FloatVal.d.ts.map +0 -1
- package/dist/types/FloatVal.es.js +0 -12
- package/dist/types/LongVal.cjs.cjs +0 -16
- package/dist/types/LongVal.d.ts +0 -6
- package/dist/types/LongVal.d.ts.map +0 -1
- package/dist/types/LongVal.es.js +0 -12
- package/dist/types/NumberVal.cjs.cjs +0 -16
- package/dist/types/NumberVal.d.ts +0 -6
- package/dist/types/NumberVal.d.ts.map +0 -1
- package/dist/types/NumberVal.es.js +0 -12
- package/dist/types/ShortVal.cjs.cjs +0 -16
- package/dist/types/ShortVal.d.ts +0 -6
- package/dist/types/ShortVal.d.ts.map +0 -1
- package/dist/types/ShortVal.es.js +0 -12
- package/dist/types/StringVal.cjs.cjs +0 -16
- package/dist/types/StringVal.d.ts +0 -6
- package/dist/types/StringVal.d.ts.map +0 -1
- package/dist/types/StringVal.es.js +0 -12
- package/dist/types/Types.cjs.cjs +0 -22
- package/dist/types/Types.d.ts +0 -9
- package/dist/types/Types.d.ts.map +0 -1
- package/dist/types/Types.es.js +0 -8
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
4
|
-
|
|
5
|
-
const ByteOrder = require('./ByteOrder.cjs.cjs');
|
|
6
|
-
const types_ByteVal = require('./types/ByteVal.cjs.cjs');
|
|
7
|
-
const types_DoubleVal = require('./types/DoubleVal.cjs.cjs');
|
|
8
|
-
const types_FloatVal = require('./types/FloatVal.cjs.cjs');
|
|
9
|
-
const types_LongVal = require('./types/LongVal.cjs.cjs');
|
|
10
|
-
const types_NumberVal = require('./types/NumberVal.cjs.cjs');
|
|
11
|
-
const types_ShortVal = require('./types/ShortVal.cjs.cjs');
|
|
12
|
-
const types_StringVal = require('./types/StringVal.cjs.cjs');
|
|
13
|
-
|
|
14
|
-
class NBTStreamReader {
|
|
15
|
-
input;
|
|
16
|
-
byteOrder;
|
|
17
|
-
useVarint = false;
|
|
18
|
-
allocateLimit = -1;
|
|
19
|
-
constructor(input, byteOrder) {
|
|
20
|
-
this.input = input;
|
|
21
|
-
this.byteOrder = byteOrder;
|
|
22
|
-
}
|
|
23
|
-
isUsingVarint() {
|
|
24
|
-
return this.useVarint;
|
|
25
|
-
}
|
|
26
|
-
setUseVarint(useVarint) {
|
|
27
|
-
this.useVarint = useVarint;
|
|
28
|
-
}
|
|
29
|
-
setAllocateLimit(allocateLimit) {
|
|
30
|
-
this.allocateLimit = allocateLimit;
|
|
31
|
-
}
|
|
32
|
-
readByteValue() {
|
|
33
|
-
this.expectInput(1, "Invalid NBT Data: Expected byte");
|
|
34
|
-
return new types_ByteVal.default(this.input.readByte());
|
|
35
|
-
}
|
|
36
|
-
readStringValue() {
|
|
37
|
-
const length = this.useVarint ? this.input.readUnsignedVarInt() : this.readShortValue().getValue();
|
|
38
|
-
this.expectInput(length, "Invalid NBT Data: Expected string bytes");
|
|
39
|
-
const data = this.input.read(length);
|
|
40
|
-
return new types_StringVal.default(data.toString("utf8"));
|
|
41
|
-
}
|
|
42
|
-
readShortValue() {
|
|
43
|
-
this.expectInput(2, "Invalid NBT Data: Expected short");
|
|
44
|
-
if (this.byteOrder === ByteOrder.ByteOrder.LITTLE_ENDIAN) {
|
|
45
|
-
return new types_ShortVal.default(this.input.readShortLE());
|
|
46
|
-
}
|
|
47
|
-
return new types_ShortVal.default(this.input.readShort());
|
|
48
|
-
}
|
|
49
|
-
readIntValue() {
|
|
50
|
-
if (this.useVarint) {
|
|
51
|
-
return new types_NumberVal.default(this.input.readVarInt());
|
|
52
|
-
}
|
|
53
|
-
this.expectInput(4, "Invalid NBT Data: Expected int");
|
|
54
|
-
if (this.byteOrder === ByteOrder.ByteOrder.LITTLE_ENDIAN) {
|
|
55
|
-
return new types_NumberVal.default(this.input.readIntLE());
|
|
56
|
-
}
|
|
57
|
-
return new types_NumberVal.default(this.input.readInt());
|
|
58
|
-
}
|
|
59
|
-
readLongValue() {
|
|
60
|
-
if (this.useVarint) {
|
|
61
|
-
return new types_LongVal.default(this.input.readVarLong());
|
|
62
|
-
}
|
|
63
|
-
this.expectInput(8, "Invalid NBT Data: Expected long");
|
|
64
|
-
if (this.byteOrder === ByteOrder.ByteOrder.LITTLE_ENDIAN) {
|
|
65
|
-
return new types_LongVal.default(this.input.readLongLE());
|
|
66
|
-
}
|
|
67
|
-
return new types_LongVal.default(this.input.readLong());
|
|
68
|
-
}
|
|
69
|
-
readFloatValue() {
|
|
70
|
-
this.expectInput(4, "Invalid NBT Data: Expected long");
|
|
71
|
-
if (this.byteOrder === ByteOrder.ByteOrder.LITTLE_ENDIAN) {
|
|
72
|
-
return new types_FloatVal.default(this.input.readFloatLE());
|
|
73
|
-
}
|
|
74
|
-
return new types_FloatVal.default(this.input.readFloat());
|
|
75
|
-
}
|
|
76
|
-
readDoubleValue() {
|
|
77
|
-
this.expectInput(8, "Invalid NBT Data: Expected double");
|
|
78
|
-
if (this.byteOrder === ByteOrder.ByteOrder.LITTLE_ENDIAN) {
|
|
79
|
-
return new types_DoubleVal.default(this.input.readDoubleLE());
|
|
80
|
-
}
|
|
81
|
-
return new types_DoubleVal.default(this.input.readDouble());
|
|
82
|
-
}
|
|
83
|
-
readByteArrayValue() {
|
|
84
|
-
const size = this.readIntValue().getValue();
|
|
85
|
-
this.expectInput(size, "Invalid NBT Data: Expected byte array data");
|
|
86
|
-
return this.input.read(size);
|
|
87
|
-
}
|
|
88
|
-
readIntArrayValue() {
|
|
89
|
-
const size = this.readIntValue().getValue();
|
|
90
|
-
this.expectInput(this.isUsingVarint() ? size : size * 4, "Invalid NBT Data: Expected int array data");
|
|
91
|
-
const result = [];
|
|
92
|
-
for (let i = 0; i < size; i++) {
|
|
93
|
-
result.push(this.readIntValue().getValue());
|
|
94
|
-
}
|
|
95
|
-
return result;
|
|
96
|
-
}
|
|
97
|
-
expectInput(remaining, message, alterAllocationLimit = true) {
|
|
98
|
-
if (alterAllocationLimit) {
|
|
99
|
-
this.alterAllocationLimit(remaining);
|
|
100
|
-
}
|
|
101
|
-
const length = this.input.readRemaining().byteLength;
|
|
102
|
-
this.input.skip(-length);
|
|
103
|
-
if (length < remaining) {
|
|
104
|
-
throw new Error(message);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
alterAllocationLimit(remaining) {
|
|
108
|
-
if (this.allocateLimit !== -1) {
|
|
109
|
-
if (this.allocateLimit - remaining < 0) {
|
|
110
|
-
throw new Error("Could not allocate more bytes due to reaching the set limit");
|
|
111
|
-
} else {
|
|
112
|
-
this.allocateLimit -= remaining;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
exports.default = NBTStreamReader;
|
|
119
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTkJUU3RyZWFtUmVhZGVyLmNqcy5janMiLCJzb3VyY2VzIjpbIi4uL3NyYy9OQlRTdHJlYW1SZWFkZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgQmluYXJ5U3RyZWFtIGZyb20gJ0Bqc3ByaXNtYXJpbmUvanNiaW5hcnl1dGlscyc7XG5pbXBvcnQgeyBCeXRlT3JkZXIgfSBmcm9tICcuL0J5dGVPcmRlcic7XG5pbXBvcnQgQnl0ZVZhbCBmcm9tICcuL3R5cGVzL0J5dGVWYWwnO1xuaW1wb3J0IERvdWJsZVZhbCBmcm9tICcuL3R5cGVzL0RvdWJsZVZhbCc7XG5pbXBvcnQgRmxvYXRWYWwgZnJvbSAnLi90eXBlcy9GbG9hdFZhbCc7XG5pbXBvcnQgTG9uZ1ZhbCBmcm9tICcuL3R5cGVzL0xvbmdWYWwnO1xuaW1wb3J0IE51bWJlclZhbCBmcm9tICcuL3R5cGVzL051bWJlclZhbCc7XG5pbXBvcnQgU2hvcnRWYWwgZnJvbSAnLi90eXBlcy9TaG9ydFZhbCc7XG5pbXBvcnQgU3RyaW5nVmFsIGZyb20gJy4vdHlwZXMvU3RyaW5nVmFsJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTkJUU3RyZWFtUmVhZGVyIHtcbiAgICBwcm90ZWN0ZWQgaW5wdXQ6IEJpbmFyeVN0cmVhbTtcbiAgICBwcm90ZWN0ZWQgYnl0ZU9yZGVyOiBCeXRlT3JkZXI7XG5cbiAgICBwcml2YXRlIHVzZVZhcmludCA9IGZhbHNlO1xuICAgIHByaXZhdGUgYWxsb2NhdGVMaW1pdCA9IC0xO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGlucHV0OiBhbnksIGJ5dGVPcmRlcjogQnl0ZU9yZGVyKSB7XG4gICAgICAgIHRoaXMuaW5wdXQgPSBpbnB1dDtcbiAgICAgICAgdGhpcy5ieXRlT3JkZXIgPSBieXRlT3JkZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGlzVXNpbmdWYXJpbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnVzZVZhcmludDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0VXNlVmFyaW50KHVzZVZhcmludDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVzZVZhcmludCA9IHVzZVZhcmludDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0QWxsb2NhdGVMaW1pdChhbGxvY2F0ZUxpbWl0OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hbGxvY2F0ZUxpbWl0ID0gYWxsb2NhdGVMaW1pdDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZEJ5dGVWYWx1ZSgpOiBCeXRlVmFsIHtcbiAgICAgICAgdGhpcy5leHBlY3RJbnB1dCgxLCAnSW52YWxpZCBOQlQgRGF0YTogRXhwZWN0ZWQgYnl0ZScpO1xuICAgICAgICByZXR1cm4gbmV3IEJ5dGVWYWwodGhpcy5pbnB1dC5yZWFkQnl0ZSgpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZFN0cmluZ1ZhbHVlKCk6IFN0cmluZ1ZhbCB7XG4gICAgICAgIGNvbnN0IGxlbmd0aDogbnVtYmVyID0gdGhpcy51c2VWYXJpbnQgPyB0aGlzLmlucHV0LnJlYWRVbnNpZ25lZFZhckludCgpIDogdGhpcy5yZWFkU2hvcnRWYWx1ZSgpLmdldFZhbHVlKCk7XG4gICAgICAgIHRoaXMuZXhwZWN0SW5wdXQobGVuZ3RoLCAnSW52YWxpZCBOQlQgRGF0YTogRXhwZWN0ZWQgc3RyaW5nIGJ5dGVzJyk7XG5cbiAgICAgICAgY29uc3QgZGF0YTogQnVmZmVyID0gdGhpcy5pbnB1dC5yZWFkKGxlbmd0aCk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBTdHJpbmdWYWwoZGF0YS50b1N0cmluZygndXRmOCcpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZFNob3J0VmFsdWUoKTogU2hvcnRWYWwge1xuICAgICAgICB0aGlzLmV4cGVjdElucHV0KDIsICdJbnZhbGlkIE5CVCBEYXRhOiBFeHBlY3RlZCBzaG9ydCcpO1xuXG4gICAgICAgIGlmICh0aGlzLmJ5dGVPcmRlciA9PT0gQnl0ZU9yZGVyLkxJVFRMRV9FTkRJQU4pIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2hvcnRWYWwodGhpcy5pbnB1dC5yZWFkU2hvcnRMRSgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgU2hvcnRWYWwodGhpcy5pbnB1dC5yZWFkU2hvcnQoKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRJbnRWYWx1ZSgpOiBOdW1iZXJWYWwge1xuICAgICAgICBpZiAodGhpcy51c2VWYXJpbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTnVtYmVyVmFsKHRoaXMuaW5wdXQucmVhZFZhckludCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXhwZWN0SW5wdXQoNCwgJ0ludmFsaWQgTkJUIERhdGE6IEV4cGVjdGVkIGludCcpO1xuXG4gICAgICAgIGlmICh0aGlzLmJ5dGVPcmRlciA9PT0gQnl0ZU9yZGVyLkxJVFRMRV9FTkRJQU4pIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTnVtYmVyVmFsKHRoaXMuaW5wdXQucmVhZEludExFKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBOdW1iZXJWYWwodGhpcy5pbnB1dC5yZWFkSW50KCkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZWFkTG9uZ1ZhbHVlKCk6IExvbmdWYWwge1xuICAgICAgICBpZiAodGhpcy51c2VWYXJpbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTG9uZ1ZhbCh0aGlzLmlucHV0LnJlYWRWYXJMb25nKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBlY3RJbnB1dCg4LCAnSW52YWxpZCBOQlQgRGF0YTogRXhwZWN0ZWQgbG9uZycpO1xuXG4gICAgICAgIGlmICh0aGlzLmJ5dGVPcmRlciA9PT0gQnl0ZU9yZGVyLkxJVFRMRV9FTkRJQU4pIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTG9uZ1ZhbCh0aGlzLmlucHV0LnJlYWRMb25nTEUoKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3IExvbmdWYWwodGhpcy5pbnB1dC5yZWFkTG9uZygpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZEZsb2F0VmFsdWUoKTogRmxvYXRWYWwge1xuICAgICAgICB0aGlzLmV4cGVjdElucHV0KDQsICdJbnZhbGlkIE5CVCBEYXRhOiBFeHBlY3RlZCBsb25nJyk7XG5cbiAgICAgICAgaWYgKHRoaXMuYnl0ZU9yZGVyID09PSBCeXRlT3JkZXIuTElUVExFX0VORElBTikge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGbG9hdFZhbCh0aGlzLmlucHV0LnJlYWRGbG9hdExFKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBGbG9hdFZhbCh0aGlzLmlucHV0LnJlYWRGbG9hdCgpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZERvdWJsZVZhbHVlKCk6IERvdWJsZVZhbCB7XG4gICAgICAgIHRoaXMuZXhwZWN0SW5wdXQoOCwgJ0ludmFsaWQgTkJUIERhdGE6IEV4cGVjdGVkIGRvdWJsZScpO1xuXG4gICAgICAgIGlmICh0aGlzLmJ5dGVPcmRlciA9PT0gQnl0ZU9yZGVyLkxJVFRMRV9FTkRJQU4pIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRG91YmxlVmFsKHRoaXMuaW5wdXQucmVhZERvdWJsZUxFKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBEb3VibGVWYWwodGhpcy5pbnB1dC5yZWFkRG91YmxlKCkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZWFkQnl0ZUFycmF5VmFsdWUoKTogQnVmZmVyIHtcbiAgICAgICAgY29uc3Qgc2l6ZTogbnVtYmVyID0gdGhpcy5yZWFkSW50VmFsdWUoKS5nZXRWYWx1ZSgpO1xuICAgICAgICB0aGlzLmV4cGVjdElucHV0KHNpemUsICdJbnZhbGlkIE5CVCBEYXRhOiBFeHBlY3RlZCBieXRlIGFycmF5IGRhdGEnKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXQucmVhZChzaXplKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZEludEFycmF5VmFsdWUoKTogbnVtYmVyW10ge1xuICAgICAgICBjb25zdCBzaXplOiBudW1iZXIgPSB0aGlzLnJlYWRJbnRWYWx1ZSgpLmdldFZhbHVlKCk7XG4gICAgICAgIHRoaXMuZXhwZWN0SW5wdXQodGhpcy5pc1VzaW5nVmFyaW50KCkgPyBzaXplIDogc2l6ZSAqIDQsICdJbnZhbGlkIE5CVCBEYXRhOiBFeHBlY3RlZCBpbnQgYXJyYXkgZGF0YScpO1xuICAgICAgICBjb25zdCByZXN1bHQ6IG51bWJlcltdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh0aGlzLnJlYWRJbnRWYWx1ZSgpLmdldFZhbHVlKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZXhwZWN0SW5wdXQocmVtYWluaW5nOiBudW1iZXIsIG1lc3NhZ2U6IHN0cmluZywgYWx0ZXJBbGxvY2F0aW9uTGltaXQgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGlmIChhbHRlckFsbG9jYXRpb25MaW1pdCkge1xuICAgICAgICAgICAgdGhpcy5hbHRlckFsbG9jYXRpb25MaW1pdChyZW1haW5pbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbGVuZ3RoID0gdGhpcy5pbnB1dC5yZWFkUmVtYWluaW5nKCkuYnl0ZUxlbmd0aDtcbiAgICAgICAgdGhpcy5pbnB1dC5za2lwKC1sZW5ndGgpO1xuICAgICAgICBpZiAobGVuZ3RoIDwgcmVtYWluaW5nKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYWx0ZXJBbGxvY2F0aW9uTGltaXQocmVtYWluaW5nOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWxsb2NhdGVMaW1pdCAhPT0gLTEpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmFsbG9jYXRlTGltaXQgLSByZW1haW5pbmcgPCAwKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgYWxsb2NhdGUgbW9yZSBieXRlcyBkdWUgdG8gcmVhY2hpbmcgdGhlIHNldCBsaW1pdCcpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFsbG9jYXRlTGltaXQgLT0gcmVtYWluaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIkJ5dGVWYWwiLCJTdHJpbmdWYWwiLCJCeXRlT3JkZXIiLCJTaG9ydFZhbCIsIk51bWJlclZhbCIsIkxvbmdWYWwiLCJGbG9hdFZhbCIsIkRvdWJsZVZhbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQVVBLE1BQXFCLGVBQWdCLENBQUE7QUFBQSxFQUN2QixLQUFBO0FBQUEsRUFDQSxTQUFBO0FBQUEsRUFFRixTQUFZLEdBQUEsS0FBQTtBQUFBLEVBQ1osYUFBZ0IsR0FBQSxFQUFBO0FBQUEsRUFFZCxXQUFBLENBQVksT0FBWSxTQUFzQixFQUFBO0FBQ3BELElBQUEsSUFBQSxDQUFLLEtBQVEsR0FBQSxLQUFBO0FBQ2IsSUFBQSxJQUFBLENBQUssU0FBWSxHQUFBLFNBQUE7QUFBQTtBQUNyQixFQUVPLGFBQXlCLEdBQUE7QUFDNUIsSUFBQSxPQUFPLElBQUssQ0FBQSxTQUFBO0FBQUE7QUFDaEIsRUFFTyxhQUFhLFNBQTBCLEVBQUE7QUFDMUMsSUFBQSxJQUFBLENBQUssU0FBWSxHQUFBLFNBQUE7QUFBQTtBQUNyQixFQUVPLGlCQUFpQixhQUE2QixFQUFBO0FBQ2pELElBQUEsSUFBQSxDQUFLLGFBQWdCLEdBQUEsYUFBQTtBQUFBO0FBQ3pCLEVBRVUsYUFBeUIsR0FBQTtBQUMvQixJQUFLLElBQUEsQ0FBQSxXQUFBLENBQVksR0FBRyxpQ0FBaUMsQ0FBQTtBQUNyRCxJ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
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { default as BinaryStream } from '@jsprismarine/jsbinaryutils';
|
|
2
|
-
import { ByteOrder } from './ByteOrder';
|
|
3
|
-
import { default as ByteVal } from './types/ByteVal';
|
|
4
|
-
import { default as DoubleVal } from './types/DoubleVal';
|
|
5
|
-
import { default as FloatVal } from './types/FloatVal';
|
|
6
|
-
import { default as LongVal } from './types/LongVal';
|
|
7
|
-
import { default as NumberVal } from './types/NumberVal';
|
|
8
|
-
import { default as ShortVal } from './types/ShortVal';
|
|
9
|
-
import { default as StringVal } from './types/StringVal';
|
|
10
|
-
export default class NBTStreamReader {
|
|
11
|
-
protected input: BinaryStream;
|
|
12
|
-
protected byteOrder: ByteOrder;
|
|
13
|
-
private useVarint;
|
|
14
|
-
private allocateLimit;
|
|
15
|
-
protected constructor(input: any, byteOrder: ByteOrder);
|
|
16
|
-
isUsingVarint(): boolean;
|
|
17
|
-
setUseVarint(useVarint: boolean): void;
|
|
18
|
-
setAllocateLimit(allocateLimit: number): void;
|
|
19
|
-
protected readByteValue(): ByteVal;
|
|
20
|
-
protected readStringValue(): StringVal;
|
|
21
|
-
protected readShortValue(): ShortVal;
|
|
22
|
-
protected readIntValue(): NumberVal;
|
|
23
|
-
protected readLongValue(): LongVal;
|
|
24
|
-
protected readFloatValue(): FloatVal;
|
|
25
|
-
protected readDoubleValue(): DoubleVal;
|
|
26
|
-
protected readByteArrayValue(): Buffer;
|
|
27
|
-
protected readIntArrayValue(): number[];
|
|
28
|
-
protected expectInput(remaining: number, message: string, alterAllocationLimit?: boolean): void;
|
|
29
|
-
alterAllocationLimit(remaining: number): void;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=NBTStreamReader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NBTStreamReader.d.ts","sourceRoot":"","sources":["../src/NBTStreamReader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,OAAO,MAAM,iBAAiB,CAAC;AACtC,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,OAAO,MAAM,iBAAiB,CAAC;AACtC,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,eAAe;IAChC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC;IAC9B,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAE/B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAM;IAE3B,SAAS,aAAa,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS;IAK/C,aAAa,IAAI,OAAO;IAIxB,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAItC,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAIpD,SAAS,CAAC,aAAa,IAAI,OAAO;IAKlC,SAAS,CAAC,eAAe,IAAI,SAAS;IAStC,SAAS,CAAC,cAAc,IAAI,QAAQ;IAUpC,SAAS,CAAC,YAAY,IAAI,SAAS;IAcnC,SAAS,CAAC,aAAa,IAAI,OAAO;IAclC,SAAS,CAAC,cAAc,IAAI,QAAQ;IAUpC,SAAS,CAAC,eAAe,IAAI,SAAS;IAUtC,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAMtC,SAAS,CAAC,iBAAiB,IAAI,MAAM,EAAE;IAWvC,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,UAAO,GAAG,IAAI;IAYrF,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CASvD"}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { ByteOrder } from './ByteOrder.es.js';
|
|
2
|
-
import ByteValue from './types/ByteVal.es.js';
|
|
3
|
-
import DoubleValue from './types/DoubleVal.es.js';
|
|
4
|
-
import FloatValue from './types/FloatVal.es.js';
|
|
5
|
-
import LongValue from './types/LongVal.es.js';
|
|
6
|
-
import NumberValue from './types/NumberVal.es.js';
|
|
7
|
-
import ShortValue from './types/ShortVal.es.js';
|
|
8
|
-
import StringValue from './types/StringVal.es.js';
|
|
9
|
-
|
|
10
|
-
class NBTStreamReader {
|
|
11
|
-
input;
|
|
12
|
-
byteOrder;
|
|
13
|
-
useVarint = false;
|
|
14
|
-
allocateLimit = -1;
|
|
15
|
-
constructor(input, byteOrder) {
|
|
16
|
-
this.input = input;
|
|
17
|
-
this.byteOrder = byteOrder;
|
|
18
|
-
}
|
|
19
|
-
isUsingVarint() {
|
|
20
|
-
return this.useVarint;
|
|
21
|
-
}
|
|
22
|
-
setUseVarint(useVarint) {
|
|
23
|
-
this.useVarint = useVarint;
|
|
24
|
-
}
|
|
25
|
-
setAllocateLimit(allocateLimit) {
|
|
26
|
-
this.allocateLimit = allocateLimit;
|
|
27
|
-
}
|
|
28
|
-
readByteValue() {
|
|
29
|
-
this.expectInput(1, "Invalid NBT Data: Expected byte");
|
|
30
|
-
return new ByteValue(this.input.readByte());
|
|
31
|
-
}
|
|
32
|
-
readStringValue() {
|
|
33
|
-
const length = this.useVarint ? this.input.readUnsignedVarInt() : this.readShortValue().getValue();
|
|
34
|
-
this.expectInput(length, "Invalid NBT Data: Expected string bytes");
|
|
35
|
-
const data = this.input.read(length);
|
|
36
|
-
return new StringValue(data.toString("utf8"));
|
|
37
|
-
}
|
|
38
|
-
readShortValue() {
|
|
39
|
-
this.expectInput(2, "Invalid NBT Data: Expected short");
|
|
40
|
-
if (this.byteOrder === ByteOrder.LITTLE_ENDIAN) {
|
|
41
|
-
return new ShortValue(this.input.readShortLE());
|
|
42
|
-
}
|
|
43
|
-
return new ShortValue(this.input.readShort());
|
|
44
|
-
}
|
|
45
|
-
readIntValue() {
|
|
46
|
-
if (this.useVarint) {
|
|
47
|
-
return new NumberValue(this.input.readVarInt());
|
|
48
|
-
}
|
|
49
|
-
this.expectInput(4, "Invalid NBT Data: Expected int");
|
|
50
|
-
if (this.byteOrder === ByteOrder.LITTLE_ENDIAN) {
|
|
51
|
-
return new NumberValue(this.input.readIntLE());
|
|
52
|
-
}
|
|
53
|
-
return new NumberValue(this.input.readInt());
|
|
54
|
-
}
|
|
55
|
-
readLongValue() {
|
|
56
|
-
if (this.useVarint) {
|
|
57
|
-
return new LongValue(this.input.readVarLong());
|
|
58
|
-
}
|
|
59
|
-
this.expectInput(8, "Invalid NBT Data: Expected long");
|
|
60
|
-
if (this.byteOrder === ByteOrder.LITTLE_ENDIAN) {
|
|
61
|
-
return new LongValue(this.input.readLongLE());
|
|
62
|
-
}
|
|
63
|
-
return new LongValue(this.input.readLong());
|
|
64
|
-
}
|
|
65
|
-
readFloatValue() {
|
|
66
|
-
this.expectInput(4, "Invalid NBT Data: Expected long");
|
|
67
|
-
if (this.byteOrder === ByteOrder.LITTLE_ENDIAN) {
|
|
68
|
-
return new FloatValue(this.input.readFloatLE());
|
|
69
|
-
}
|
|
70
|
-
return new FloatValue(this.input.readFloat());
|
|
71
|
-
}
|
|
72
|
-
readDoubleValue() {
|
|
73
|
-
this.expectInput(8, "Invalid NBT Data: Expected double");
|
|
74
|
-
if (this.byteOrder === ByteOrder.LITTLE_ENDIAN) {
|
|
75
|
-
return new DoubleValue(this.input.readDoubleLE());
|
|
76
|
-
}
|
|
77
|
-
return new DoubleValue(this.input.readDouble());
|
|
78
|
-
}
|
|
79
|
-
readByteArrayValue() {
|
|
80
|
-
const size = this.readIntValue().getValue();
|
|
81
|
-
this.expectInput(size, "Invalid NBT Data: Expected byte array data");
|
|
82
|
-
return this.input.read(size);
|
|
83
|
-
}
|
|
84
|
-
readIntArrayValue() {
|
|
85
|
-
const size = this.readIntValue().getValue();
|
|
86
|
-
this.expectInput(this.isUsingVarint() ? size : size * 4, "Invalid NBT Data: Expected int array data");
|
|
87
|
-
const result = [];
|
|
88
|
-
for (let i = 0; i < size; i++) {
|
|
89
|
-
result.push(this.readIntValue().getValue());
|
|
90
|
-
}
|
|
91
|
-
return result;
|
|
92
|
-
}
|
|
93
|
-
expectInput(remaining, message, alterAllocationLimit = true) {
|
|
94
|
-
if (alterAllocationLimit) {
|
|
95
|
-
this.alterAllocationLimit(remaining);
|
|
96
|
-
}
|
|
97
|
-
const length = this.input.readRemaining().byteLength;
|
|
98
|
-
this.input.skip(-length);
|
|
99
|
-
if (length < remaining) {
|
|
100
|
-
throw new Error(message);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
alterAllocationLimit(remaining) {
|
|
104
|
-
if (this.allocateLimit !== -1) {
|
|
105
|
-
if (this.allocateLimit - remaining < 0) {
|
|
106
|
-
throw new Error("Could not allocate more bytes due to reaching the set limit");
|
|
107
|
-
} else {
|
|
108
|
-
this.allocateLimit -= remaining;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
export { NBTStreamReader as default };
|
|
115
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTkJUU3RyZWFtUmVhZGVyLmVzLmpzIiwic291cmNlcyI6WyIuLi9zcmMvTkJUU3RyZWFtUmVhZGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIEJpbmFyeVN0cmVhbSBmcm9tICdAanNwcmlzbWFyaW5lL2pzYmluYXJ5dXRpbHMnO1xuaW1wb3J0IHsgQnl0ZU9yZGVyIH0gZnJvbSAnLi9CeXRlT3JkZXInO1xuaW1wb3J0IEJ5dGVWYWwgZnJvbSAnLi90eXBlcy9CeXRlVmFsJztcbmltcG9ydCBEb3VibGVWYWwgZnJvbSAnLi90eXBlcy9Eb3VibGVWYWwnO1xuaW1wb3J0IEZsb2F0VmFsIGZyb20gJy4vdHlwZXMvRmxvYXRWYWwnO1xuaW1wb3J0IExvbmdWYWwgZnJvbSAnLi90eXBlcy9Mb25nVmFsJztcbmltcG9ydCBOdW1iZXJWYWwgZnJvbSAnLi90eXBlcy9OdW1iZXJWYWwnO1xuaW1wb3J0IFNob3J0VmFsIGZyb20gJy4vdHlwZXMvU2hvcnRWYWwnO1xuaW1wb3J0IFN0cmluZ1ZhbCBmcm9tICcuL3R5cGVzL1N0cmluZ1ZhbCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5CVFN0cmVhbVJlYWRlciB7XG4gICAgcHJvdGVjdGVkIGlucHV0OiBCaW5hcnlTdHJlYW07XG4gICAgcHJvdGVjdGVkIGJ5dGVPcmRlcjogQnl0ZU9yZGVyO1xuXG4gICAgcHJpdmF0ZSB1c2VWYXJpbnQgPSBmYWxzZTtcbiAgICBwcml2YXRlIGFsbG9jYXRlTGltaXQgPSAtMTtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihpbnB1dDogYW55LCBieXRlT3JkZXI6IEJ5dGVPcmRlcikge1xuICAgICAgICB0aGlzLmlucHV0ID0gaW5wdXQ7XG4gICAgICAgIHRoaXMuYnl0ZU9yZGVyID0gYnl0ZU9yZGVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1VzaW5nVmFyaW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy51c2VWYXJpbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFVzZVZhcmludCh1c2VWYXJpbnQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51c2VWYXJpbnQgPSB1c2VWYXJpbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEFsbG9jYXRlTGltaXQoYWxsb2NhdGVMaW1pdDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWxsb2NhdGVMaW1pdCA9IGFsbG9jYXRlTGltaXQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRCeXRlVmFsdWUoKTogQnl0ZVZhbCB7XG4gICAgICAgIHRoaXMuZXhwZWN0SW5wdXQoMSwgJ0ludmFsaWQgTkJUIERhdGE6IEV4cGVjdGVkIGJ5dGUnKTtcbiAgICAgICAgcmV0dXJuIG5ldyBCeXRlVmFsKHRoaXMuaW5wdXQucmVhZEJ5dGUoKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRTdHJpbmdWYWx1ZSgpOiBTdHJpbmdWYWwge1xuICAgICAgICBjb25zdCBsZW5ndGg6IG51bWJlciA9IHRoaXMudXNlVmFyaW50ID8gdGhpcy5pbnB1dC5yZWFkVW5zaWduZWRWYXJJbnQoKSA6IHRoaXMucmVhZFNob3J0VmFsdWUoKS5nZXRWYWx1ZSgpO1xuICAgICAgICB0aGlzLmV4cGVjdElucHV0KGxlbmd0aCwgJ0ludmFsaWQgTkJUIERhdGE6IEV4cGVjdGVkIHN0cmluZyBieXRlcycpO1xuXG4gICAgICAgIGNvbnN0IGRhdGE6IEJ1ZmZlciA9IHRoaXMuaW5wdXQucmVhZChsZW5ndGgpO1xuXG4gICAgICAgIHJldHVybiBuZXcgU3RyaW5nVmFsKGRhdGEudG9TdHJpbmcoJ3V0ZjgnKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRTaG9ydFZhbHVlKCk6IFNob3J0VmFsIHtcbiAgICAgICAgdGhpcy5leHBlY3RJbnB1dCgyLCAnSW52YWxpZCBOQlQgRGF0YTogRXhwZWN0ZWQgc2hvcnQnKTtcblxuICAgICAgICBpZiAodGhpcy5ieXRlT3JkZXIgPT09IEJ5dGVPcmRlci5MSVRUTEVfRU5ESUFOKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFNob3J0VmFsKHRoaXMuaW5wdXQucmVhZFNob3J0TEUoKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3IFNob3J0VmFsKHRoaXMuaW5wdXQucmVhZFNob3J0KCkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZWFkSW50VmFsdWUoKTogTnVtYmVyVmFsIHtcbiAgICAgICAgaWYgKHRoaXMudXNlVmFyaW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE51bWJlclZhbCh0aGlzLmlucHV0LnJlYWRWYXJJbnQoKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV4cGVjdElucHV0KDQsICdJbnZhbGlkIE5CVCBEYXRhOiBFeHBlY3RlZCBpbnQnKTtcblxuICAgICAgICBpZiAodGhpcy5ieXRlT3JkZXIgPT09IEJ5dGVPcmRlci5MSVRUTEVfRU5ESUFOKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE51bWJlclZhbCh0aGlzLmlucHV0LnJlYWRJbnRMRSgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgTnVtYmVyVmFsKHRoaXMuaW5wdXQucmVhZEludCgpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZExvbmdWYWx1ZSgpOiBMb25nVmFsIHtcbiAgICAgICAgaWYgKHRoaXMudXNlVmFyaW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IExvbmdWYWwodGhpcy5pbnB1dC5yZWFkVmFyTG9uZygpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXhwZWN0SW5wdXQoOCwgJ0ludmFsaWQgTkJUIERhdGE6IEV4cGVjdGVkIGxvbmcnKTtcblxuICAgICAgICBpZiAodGhpcy5ieXRlT3JkZXIgPT09IEJ5dGVPcmRlci5MSVRUTEVfRU5ESUFOKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IExvbmdWYWwodGhpcy5pbnB1dC5yZWFkTG9uZ0xFKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBMb25nVmFsKHRoaXMuaW5wdXQucmVhZExvbmcoKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRGbG9hdFZhbHVlKCk6IEZsb2F0VmFsIHtcbiAgICAgICAgdGhpcy5leHBlY3RJbnB1dCg0LCAnSW52YWxpZCBOQlQgRGF0YTogRXhwZWN0ZWQgbG9uZycpO1xuXG4gICAgICAgIGlmICh0aGlzLmJ5dGVPcmRlciA9PT0gQnl0ZU9yZGVyLkxJVFRMRV9FTkRJQU4pIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmxvYXRWYWwodGhpcy5pbnB1dC5yZWFkRmxvYXRMRSgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgRmxvYXRWYWwodGhpcy5pbnB1dC5yZWFkRmxvYXQoKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWREb3VibGVWYWx1ZSgpOiBEb3VibGVWYWwge1xuICAgICAgICB0aGlzLmV4cGVjdElucHV0KDgsICdJbnZhbGlkIE5CVCBEYXRhOiBFeHBlY3RlZCBkb3VibGUnKTtcblxuICAgICAgICBpZiAodGhpcy5ieXRlT3JkZXIgPT09IEJ5dGVPcmRlci5MSVRUTEVfRU5ESUFOKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IERvdWJsZVZhbCh0aGlzLmlucHV0LnJlYWREb3VibGVMRSgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgRG91YmxlVmFsKHRoaXMuaW5wdXQucmVhZERvdWJsZSgpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZEJ5dGVBcnJheVZhbHVlKCk6IEJ1ZmZlciB7XG4gICAgICAgIGNvbnN0IHNpemU6IG51bWJlciA9IHRoaXMucmVhZEludFZhbHVlKCkuZ2V0VmFsdWUoKTtcbiAgICAgICAgdGhpcy5leHBlY3RJbnB1dChzaXplLCAnSW52YWxpZCBOQlQgRGF0YTogRXhwZWN0ZWQgYnl0ZSBhcnJheSBkYXRhJyk7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0LnJlYWQoc2l6ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRJbnRBcnJheVZhbHVlKCk6IG51bWJlcltdIHtcbiAgICAgICAgY29uc3Qgc2l6ZTogbnVtYmVyID0gdGhpcy5yZWFkSW50VmFsdWUoKS5nZXRWYWx1ZSgpO1xuICAgICAgICB0aGlzLmV4cGVjdElucHV0KHRoaXMuaXNVc2luZ1ZhcmludCgpID8gc2l6ZSA6IHNpemUgKiA0LCAnSW52YWxpZCBOQlQgRGF0YTogRXhwZWN0ZWQgaW50IGFycmF5IGRhdGEnKTtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBudW1iZXJbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpemU7IGkrKykge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godGhpcy5yZWFkSW50VmFsdWUoKS5nZXRWYWx1ZSgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGV4cGVjdElucHV0KHJlbWFpbmluZzogbnVtYmVyLCBtZXNzYWdlOiBzdHJpbmcsIGFsdGVyQWxsb2NhdGlvbkxpbWl0ID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAoYWx0ZXJBbGxvY2F0aW9uTGltaXQpIHtcbiAgICAgICAgICAgIHRoaXMuYWx0ZXJBbGxvY2F0aW9uTGltaXQocmVtYWluaW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuaW5wdXQucmVhZFJlbWFpbmluZygpLmJ5dGVMZW5ndGg7XG4gICAgICAgIHRoaXMuaW5wdXQuc2tpcCgtbGVuZ3RoKTtcbiAgICAgICAgaWYgKGxlbmd0aCA8IHJlbWFpbmluZykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFsdGVyQWxsb2NhdGlvbkxpbWl0KHJlbWFpbmluZzogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmFsbG9jYXRlTGltaXQgIT09IC0xKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5hbGxvY2F0ZUxpbWl0IC0gcmVtYWluaW5nIDwgMCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGFsbG9jYXRlIG1vcmUgYnl0ZXMgZHVlIHRvIHJlYWNoaW5nIHRoZSBzZXQgbGltaXQnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbGxvY2F0ZUxpbWl0IC09IHJlbWFpbmluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJCeXRlVmFsIiwiU3RyaW5nVmFsIiwiU2hvcnRWYWwiLCJOdW1iZXJWYWwiLCJMb25nVmFsIiwiRmxvYXRWYWwiLCJEb3VibGVWYWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVVBLE1BQXFCLGVBQWdCLENBQUE7QUFBQSxFQUN2QixLQUFBO0FBQUEsRUFDQSxTQUFBO0FBQUEsRUFFRixTQUFZLEdBQUEsS0FBQTtBQUFBLEVBQ1osYUFBZ0IsR0FBQSxFQUFBO0FBQUEsRUFFZCxXQUFBLENBQVksT0FBWSxTQUFzQixFQUFBO0FBQ3BELElBQUEsSUFBQSxDQUFLLEtBQVEsR0FBQSxLQUFBO0FBQ2IsSUFBQSxJQUFBLENBQUssU0FBWSxHQUFBLFNBQUE7QUFBQTtBQUNyQixFQUVPLGFBQXlCLEdBQUE7QUFDNUIsSUFBQSxPQUFPLElBQUssQ0FBQSxTQUFBO0FBQUE7QUFDaEIsRUFFTyxhQUFhLFNBQTBCLEVBQUE7QUFDMUMsSUFBQSxJQUFBLENBQUssU0FBWSxHQUFBLFNBQUE7QUFBQTtBQUNyQixFQUVPLGlCQUFpQixhQUE2QixFQUFBO0FBQ2pELElBQUEsSUFBQSxDQUFLLGFBQWdCLEdBQUEsYUFBQTtBQUFBO0FBQ3pCLEVBRVUsYUFBeUIsR0FBQTtBQUMvQixJQUFLLElBQUEsQ0FBQSxXQUFBLENBQVksR0FBRyxpQ0FBaUMsQ0FBQTtBQUNyRCxJQUFBLE9BQU8sSUFBSUEsU0FB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
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
4
|
-
|
|
5
|
-
const fs = require('node:fs');
|
|
6
|
-
const BinaryStream = require('@jsprismarine/jsbinaryutils');
|
|
7
|
-
const NBTReader = require('./NBTReader.cjs.cjs');
|
|
8
|
-
const NBTWriter = require('./NBTWriter.cjs.cjs');
|
|
9
|
-
const types_ByteVal = require('./types/ByteVal.cjs.cjs');
|
|
10
|
-
const types_DoubleVal = require('./types/DoubleVal.cjs.cjs');
|
|
11
|
-
const types_FloatVal = require('./types/FloatVal.cjs.cjs');
|
|
12
|
-
const types_LongVal = require('./types/LongVal.cjs.cjs');
|
|
13
|
-
const types_NumberVal = require('./types/NumberVal.cjs.cjs');
|
|
14
|
-
const types_ShortVal = require('./types/ShortVal.cjs.cjs');
|
|
15
|
-
const types_StringVal = require('./types/StringVal.cjs.cjs');
|
|
16
|
-
|
|
17
|
-
const _interopDefault = e => e && e.__esModule ? e : { default: e };
|
|
18
|
-
|
|
19
|
-
const fs__default = /*#__PURE__*/_interopDefault(fs);
|
|
20
|
-
const BinaryStream__default = /*#__PURE__*/_interopDefault(BinaryStream);
|
|
21
|
-
|
|
22
|
-
class NBTTagCompound {
|
|
23
|
-
name;
|
|
24
|
-
children = /* @__PURE__ */ new Map();
|
|
25
|
-
static readFromFile(path, byteOrder) {
|
|
26
|
-
return NBTTagCompound.readFromStream(new BinaryStream__default.default(fs__default.default.readFileSync(path)), byteOrder);
|
|
27
|
-
}
|
|
28
|
-
static readFromStream(input, byteOrder, varints = false) {
|
|
29
|
-
const reader = new NBTReader.default(input, byteOrder);
|
|
30
|
-
reader.setUseVarint(varints);
|
|
31
|
-
return reader.parse();
|
|
32
|
-
}
|
|
33
|
-
constructor(name = null) {
|
|
34
|
-
this.name = name;
|
|
35
|
-
}
|
|
36
|
-
setName(name) {
|
|
37
|
-
this.name = name;
|
|
38
|
-
}
|
|
39
|
-
getName() {
|
|
40
|
-
return this.name;
|
|
41
|
-
}
|
|
42
|
-
addValue(name, value) {
|
|
43
|
-
if (value instanceof NBTTagCompound && name !== value.getName()) {
|
|
44
|
-
throw new Error(`Failed to add NBTTagCompound with name ${value.getName()} given name ${name}`);
|
|
45
|
-
}
|
|
46
|
-
this.children.set(name, value);
|
|
47
|
-
}
|
|
48
|
-
addChild(tag) {
|
|
49
|
-
this.children.set(tag.getName(), tag);
|
|
50
|
-
}
|
|
51
|
-
getList(name, insert) {
|
|
52
|
-
if (this.children.has(name)) {
|
|
53
|
-
return this.children.get(name);
|
|
54
|
-
}
|
|
55
|
-
if (insert) {
|
|
56
|
-
const backingList = /* @__PURE__ */ new Set();
|
|
57
|
-
this.addValue(name, backingList);
|
|
58
|
-
return backingList;
|
|
59
|
-
}
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
getCompound(name, insert) {
|
|
63
|
-
if (this.children.has(name)) {
|
|
64
|
-
return this.children.get(name);
|
|
65
|
-
}
|
|
66
|
-
if (insert) {
|
|
67
|
-
const compound = new NBTTagCompound();
|
|
68
|
-
this.addValue(name, compound);
|
|
69
|
-
return compound;
|
|
70
|
-
}
|
|
71
|
-
return null;
|
|
72
|
-
}
|
|
73
|
-
writeToStream(out, byteOrder, varints = false) {
|
|
74
|
-
const writer = new NBTWriter.default(out, byteOrder);
|
|
75
|
-
writer.setUseVarint(varints);
|
|
76
|
-
writer.writeCompound(this);
|
|
77
|
-
}
|
|
78
|
-
getByte(name, defaultValue) {
|
|
79
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
80
|
-
}
|
|
81
|
-
getShort(name, defaultValue) {
|
|
82
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
83
|
-
}
|
|
84
|
-
getNumber(name, defaultValue) {
|
|
85
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
86
|
-
}
|
|
87
|
-
getLong(name, defaultValue) {
|
|
88
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
89
|
-
}
|
|
90
|
-
getFloat(name, defaultValue) {
|
|
91
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
92
|
-
}
|
|
93
|
-
getDouble(name, defaultValue) {
|
|
94
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
95
|
-
}
|
|
96
|
-
getString(name, defaultValue) {
|
|
97
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
98
|
-
}
|
|
99
|
-
remove(key) {
|
|
100
|
-
return this.children.delete(key);
|
|
101
|
-
}
|
|
102
|
-
entries() {
|
|
103
|
-
return this.children.entries();
|
|
104
|
-
}
|
|
105
|
-
has(key) {
|
|
106
|
-
return this.children.has(key);
|
|
107
|
-
}
|
|
108
|
-
size() {
|
|
109
|
-
return this.children.size;
|
|
110
|
-
}
|
|
111
|
-
// Thanks stackoverflow! https://stackoverflow.com/questions/35948335/how-can-i-check-if-two-map-objects-are-equal
|
|
112
|
-
equals(that) {
|
|
113
|
-
if (this.children.size !== that.children.size) {
|
|
114
|
-
return false;
|
|
115
|
-
}
|
|
116
|
-
for (const [key, val] of this.children) {
|
|
117
|
-
const testVal = that.children.get(key);
|
|
118
|
-
if (testVal === void 0 && !that.children.has(key)) {
|
|
119
|
-
return false;
|
|
120
|
-
}
|
|
121
|
-
if (val instanceof NBTTagCompound && testVal instanceof NBTTagCompound && !val.equals(testVal)) {
|
|
122
|
-
return false;
|
|
123
|
-
}
|
|
124
|
-
if (val instanceof types_ByteVal.default && testVal instanceof types_ByteVal.default && val.getValue() !== testVal.getValue()) {
|
|
125
|
-
return false;
|
|
126
|
-
}
|
|
127
|
-
if (val instanceof types_DoubleVal.default && testVal instanceof types_DoubleVal.default && val.getValue() !== testVal.getValue()) {
|
|
128
|
-
return false;
|
|
129
|
-
}
|
|
130
|
-
if (val instanceof types_FloatVal.default && testVal instanceof types_FloatVal.default && val.getValue() !== testVal.getValue()) {
|
|
131
|
-
return false;
|
|
132
|
-
}
|
|
133
|
-
if (val instanceof types_LongVal.default && testVal instanceof types_LongVal.default && val.getValue() !== testVal.getValue()) {
|
|
134
|
-
return false;
|
|
135
|
-
}
|
|
136
|
-
if (val instanceof types_NumberVal.default && testVal instanceof types_NumberVal.default && val.getValue() !== testVal.getValue()) {
|
|
137
|
-
return false;
|
|
138
|
-
}
|
|
139
|
-
if (val instanceof types_ShortVal.default && testVal instanceof types_ShortVal.default && val.getValue() !== testVal.getValue()) {
|
|
140
|
-
return false;
|
|
141
|
-
}
|
|
142
|
-
if (val instanceof types_StringVal.default && testVal instanceof types_StringVal.default && val.getValue() !== testVal.getValue()) {
|
|
143
|
-
return false;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
return true;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
exports.default = NBTTagCompound;
|
|
151
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTkJUVGFnQ29tcG91bmQuY2pzLmNqcyIsInNvdXJjZXMiOlsiLi4vc3JjL05CVFRhZ0NvbXBvdW5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tICdub2RlOmZzJztcblxuaW1wb3J0IEJpbmFyeVN0cmVhbSBmcm9tICdAanNwcmlzbWFyaW5lL2pzYmluYXJ5dXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBCeXRlT3JkZXIgfSBmcm9tICcuL0J5dGVPcmRlcic7XG5pbXBvcnQgTkJUUmVhZGVyIGZyb20gJy4vTkJUUmVhZGVyJztcbmltcG9ydCBOQlRXcml0ZXIgZnJvbSAnLi9OQlRXcml0ZXInO1xuaW1wb3J0IEJ5dGVWYWwgZnJvbSAnLi90eXBlcy9CeXRlVmFsJztcbmltcG9ydCBEb3VibGVWYWwgZnJvbSAnLi90eXBlcy9Eb3VibGVWYWwnO1xuaW1wb3J0IEZsb2F0VmFsIGZyb20gJy4vdHlwZXMvRmxvYXRWYWwnO1xuaW1wb3J0IExvbmdWYWwgZnJvbSAnLi90eXBlcy9Mb25nVmFsJztcbmltcG9ydCBOdW1iZXJWYWwgZnJvbSAnLi90eXBlcy9OdW1iZXJWYWwnO1xuaW1wb3J0IFNob3J0VmFsIGZyb20gJy4vdHlwZXMvU2hvcnRWYWwnO1xuaW1wb3J0IFN0cmluZ1ZhbCBmcm9tICcuL3R5cGVzL1N0cmluZ1ZhbCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5CVFRhZ0NvbXBvdW5kIHtcbiAgICBwcml2YXRlIG5hbWU6IHN0cmluZyB8IG51bGw7XG4gICAgcHVibGljIHJlYWRvbmx5IGNoaWxkcmVuOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcCgpO1xuXG4gICAgcHVibGljIHN0YXRpYyByZWFkRnJvbUZpbGUocGF0aDogc3RyaW5nLCBieXRlT3JkZXI6IEJ5dGVPcmRlcik6IE5CVFRhZ0NvbXBvdW5kIHtcbiAgICAgICAgcmV0dXJuIE5CVFRhZ0NvbXBvdW5kLnJlYWRGcm9tU3RyZWFtKG5ldyBCaW5hcnlTdHJlYW0oZnMucmVhZEZpbGVTeW5jKHBhdGgpKSwgYnl0ZU9yZGVyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRGcm9tU3RyZWFtKGlucHV0OiBCaW5hcnlTdHJlYW0sIGJ5dGVPcmRlcjogQnl0ZU9yZGVyLCB2YXJpbnRzID0gZmFsc2UpOiBOQlRUYWdDb21wb3VuZCB7XG4gICAgICAgIGNvbnN0IHJlYWRlcjogTkJUUmVhZGVyID0gbmV3IE5CVFJlYWRlcihpbnB1dCwgYnl0ZU9yZGVyKTtcbiAgICAgICAgcmVhZGVyLnNldFVzZVZhcmludCh2YXJpbnRzKTtcbiAgICAgICAgcmV0dXJuIHJlYWRlci5wYXJzZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXROYW1lKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5uYW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRWYWx1ZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTkJUVGFnQ29tcG91bmQgJiYgbmFtZSAhPT0gdmFsdWUuZ2V0TmFtZSgpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBhZGQgTkJUVGFnQ29tcG91bmQgd2l0aCBuYW1lICR7dmFsdWUuZ2V0TmFtZSgpfSBnaXZlbiBuYW1lICR7bmFtZX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hpbGRyZW4uc2V0KG5hbWUsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkQ2hpbGQodGFnOiBOQlRUYWdDb21wb3VuZCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoaWxkcmVuLnNldCh0YWcuZ2V0TmFtZSgpISwgdGFnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGlzdChuYW1lOiBzdHJpbmcsIGluc2VydDogYm9vbGVhbik6IFNldDxhbnk+IHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLmNoaWxkcmVuLmhhcyhuYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4uZ2V0KG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGluc2VydCkge1xuICAgICAgICAgICAgY29uc3QgYmFja2luZ0xpc3Q6IFNldDxhbnk+ID0gbmV3IFNldCgpO1xuICAgICAgICAgICAgdGhpcy5hZGRWYWx1ZShuYW1lLCBiYWNraW5nTGlzdCk7XG4gICAgICAgICAgICByZXR1cm4gYmFja2luZ0xpc3Q7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29tcG91bmQobmFtZTogc3RyaW5nLCBpbnNlcnQ6IGJvb2xlYW4pOiBOQlRUYWdDb21wb3VuZCB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5jaGlsZHJlbi5oYXMobmFtZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmdldChuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpbnNlcnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvdW5kOiBOQlRUYWdDb21wb3VuZCA9IG5ldyBOQlRUYWdDb21wb3VuZCgpO1xuICAgICAgICAgICAgdGhpcy5hZGRWYWx1ZShuYW1lLCBjb21wb3VuZCk7XG4gICAgICAgICAgICByZXR1cm4gY29tcG91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVUb1N0cmVhbShvdXQ6IEJpbmFyeVN0cmVhbSwgYnl0ZU9yZGVyOiBCeXRlT3JkZXIsIHZhcmludHMgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBjb25zdCB3cml0ZXI6IE5CVFdyaXRlciA9IG5ldyBOQlRXcml0ZXIob3V0LCBieXRlT3JkZXIpO1xuICAgICAgICB3cml0ZXIuc2V0VXNlVmFyaW50KHZhcmludHMpO1xuICAgICAgICB3cml0ZXIud3JpdGVDb21wb3VuZCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Qnl0ZShuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4uaGFzKG5hbWUpID8gKHRoaXMuY2hpbGRyZW4uZ2V0KG5hbWUpIGFzIEJ5dGVWYWwpLmdldFZhbHVlKCkgOiBkZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNob3J0KG5hbWU6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlbi5oYXMobmFtZSkgPyAodGhpcy5jaGlsZHJlbi5nZXQobmFtZSkgYXMgU2hvcnRWYWwpLmdldFZhbHVlKCkgOiBkZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE51bWJlcihuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4uaGFzKG5hbWUpID8gKHRoaXMuY2hpbGRyZW4uZ2V0KG5hbWUpIGFzIE51bWJlclZhbCkuZ2V0VmFsdWUoKSA6IGRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TG9uZyhuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogYmlnaW50KTogYmlnaW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4uaGFzKG5hbWUpID8gKHRoaXMuY2hpbGRyZW4uZ2V0KG5hbWUpIGFzIExvbmdWYWwpLmdldFZhbHVlKCkgOiBkZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZsb2F0KG5hbWU6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlbi5oYXMobmFtZSkgPyAodGhpcy5jaGlsZHJlbi5nZXQobmFtZSkgYXMgRmxvYXRWYWwpLmdldFZhbHVlKCkgOiBkZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldERvdWJsZShuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4uaGFzKG5hbWUpID8gKHRoaXMuY2hpbGRyZW4uZ2V0KG5hbWUpIGFzIERvdWJsZVZhbCkuZ2V0VmFsdWUoKSA6IGRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U3RyaW5nKG5hbWU6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlbi5oYXMobmFtZSkgPyAodGhpcy5jaGlsZHJlbi5nZXQobmFtZSkgYXMgU3RyaW5nVmFsKS5nZXRWYWx1ZSgpIDogZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmUoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4uZGVsZXRlKGtleSk7XG4gICAgfVxuXG4gICAgcHVibGljIGVudHJpZXMoKTogSXRlcmFibGVJdGVyYXRvcjxbc3RyaW5nLCBhbnldPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmVudHJpZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmhhcyhrZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzaXplKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLnNpemU7XG4gICAgfVxuXG4gICAgLy8gVGhhbmtzIHN0YWNrb3ZlcmZsb3chIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM1OTQ4MzM1L2hvdy1jYW4taS1jaGVjay1pZi10d28tbWFwLW9iamVjdHMtYXJlLWVxdWFsXG4gICAgcHVibGljIGVxdWFscyh0aGF0OiBOQlRUYWdDb21wb3VuZCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5jaGlsZHJlbi5zaXplICE9PSB0aGF0LmNoaWxkcmVuLnNpemUpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsXSBvZiB0aGlzLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICBjb25zdCB0ZXN0VmFsID0gdGhhdC5jaGlsZHJlbi5nZXQoa2V5KTtcblxuICAgICAgICAgICAgaWYgKHRlc3RWYWwgPT09IHVuZGVmaW5lZCAmJiAhdGhhdC5jaGlsZHJlbi5oYXMoa2V5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIE5CVFRhZ0NvbXBvdW5kICYmIHRlc3RWYWwgaW5zdGFuY2VvZiBOQlRUYWdDb21wb3VuZCAmJiAhdmFsLmVxdWFscyh0ZXN0VmFsKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIEJ5dGVWYWwgJiYgdGVzdFZhbCBpbnN0YW5jZW9mIEJ5dGVWYWwgJiYgdmFsLmdldFZhbHVlKCkgIT09IHRlc3RWYWwuZ2V0VmFsdWUoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIERvdWJsZVZhbCAmJiB0ZXN0VmFsIGluc3RhbmNlb2YgRG91YmxlVmFsICYmIHZhbC5nZXRWYWx1ZSgpICE9PSB0ZXN0VmFsLmdldFZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBGbG9hdFZhbCAmJiB0ZXN0VmFsIGluc3RhbmNlb2YgRmxvYXRWYWwgJiYgdmFsLmdldFZhbHVlKCkgIT09IHRlc3RWYWwuZ2V0VmFsdWUoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIExvbmdWYWwgJiYgdGVzdFZhbCBpbnN0YW5jZW9mIExvbmdWYWwgJiYgdmFsLmdldFZhbHVlKCkgIT09IHRlc3RWYWwuZ2V0VmFsdWUoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIE51bWJlclZhbCAmJiB0ZXN0VmFsIGluc3RhbmNlb2YgTnVtYmVyVmFsICYmIHZhbC5nZXRWYWx1ZSgpICE9PSB0ZXN0VmFsLmdldFZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBTaG9ydFZhbCAmJiB0ZXN0VmFsIGluc3RhbmNlb2YgU2hvcnRWYWwgJiYgdmFsLmdldFZhbHVlKCkgIT09IHRlc3RWYWwuZ2V0VmFsdWUoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIFN0cmluZ1ZhbCAmJiB0ZXN0VmFsIGluc3RhbmNlb2YgU3RyaW5nVmFsICYmIHZhbC5nZXRWYWx1ZSgpICE9PSB0ZXN0VmFsLmdldFZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4iXSwibmFtZXMiOlsiQmluYXJ5U3RyZWFtIiwiZnMiLCJOQlRSZWFkZXIiLCJOQlRXcml0ZXIiLCJCeXRlVmFsIiwiRG91YmxlVmFsIiwiRmxvYXRWYWwiLCJMb25nVmFsIiwiTnVtYmVyVmFsIiwiU2hvcnRWYWwiLCJTdHJpbmdWYWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWNBLE1BQXFCLGNBQWUsQ0FBQTtBQUFBLEVBQ3hCLElBQUE7QUFBQSxFQUNRLFFBQUEsdUJBQWlDLEdBQUksRUFBQTtBQUFBLEVBRXJELE9BQWMsWUFBYSxDQUFBLElBQUEsRUFBYyxTQUFzQyxFQUFBO0FBQzNFLElBQU8sT0FBQSxjQUFBLENBQWUsZUFBZSxJQUFJQSw2QkFBQSxDQUFhQyxvQkFBRyxZQUFhLENBQUEsSUFBSSxDQUFDLENBQUEsRUFBRyxTQUFTLENBQUE7QUFBQTtBQUMzRixFQUVBLE9BQWMsY0FBQSxDQUFlLEtBQXFCLEVBQUEsU0FBQSxFQUFzQixVQUFVLEtBQXVCLEVBQUE7QUFDckcsSUFBQSxNQUFNLE1BQW9CLEdBQUEsSUFBSUMsaUJBQVUsQ0FBQSxLQUFBLEVBQU8sU0FBUyxDQUFBO0FBQ3hELElBQUEsTUFBQSxDQUFPLGFBQWEsT0FBTyxDQUFBO0FBQzNCLElBQUEsT0FBTyxPQUFPLEtBQU0sRUFBQTtBQUFBO0FBQ3hCLEVBRU8sV0FBQSxDQUFZLE9BQXNCLElBQU0sRUFBQTtBQUMzQyxJQUFBLElBQUEsQ0FBSyxJQUFPLEdBQUEsSUFBQTtBQUFBO0FBQ2hCLEVBRU8sUUFBUSxJQUFvQixFQUFBO0FBQy9CLElBQUEsSUFBQSxDQUFLLElBQU8sR0FBQSxJQUFBO0FBQUE7QUFDaEIsRUFFTyxPQUF5QixHQUFBO0FBQzVCLElBQUEsT0FBTyxJQUFLLENBQUEsSUFBQTtBQUFBO0FBQ2hCLEVBRU8sUUFBQSxDQUFTLE1BQWMsS0FBa0IsRUFBQTtBQUM1QyxJQUFBLElBQUksS0FBaUIsWUFBQSxj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
|
package/dist/NBTTagCompound.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { default as BinaryStream } from '@jsprismarine/jsbinaryutils';
|
|
2
|
-
import { ByteOrder } from './ByteOrder';
|
|
3
|
-
export default class NBTTagCompound {
|
|
4
|
-
private name;
|
|
5
|
-
readonly children: Map<string, any>;
|
|
6
|
-
static readFromFile(path: string, byteOrder: ByteOrder): NBTTagCompound;
|
|
7
|
-
static readFromStream(input: BinaryStream, byteOrder: ByteOrder, varints?: boolean): NBTTagCompound;
|
|
8
|
-
constructor(name?: string | null);
|
|
9
|
-
setName(name: string): void;
|
|
10
|
-
getName(): string | null;
|
|
11
|
-
addValue(name: string, value: any): void;
|
|
12
|
-
addChild(tag: NBTTagCompound): void;
|
|
13
|
-
getList(name: string, insert: boolean): Set<any> | null;
|
|
14
|
-
getCompound(name: string, insert: boolean): NBTTagCompound | null;
|
|
15
|
-
writeToStream(out: BinaryStream, byteOrder: ByteOrder, varints?: boolean): void;
|
|
16
|
-
getByte(name: string, defaultValue: number): number;
|
|
17
|
-
getShort(name: string, defaultValue: number): number;
|
|
18
|
-
getNumber(name: string, defaultValue: number): number;
|
|
19
|
-
getLong(name: string, defaultValue: bigint): bigint;
|
|
20
|
-
getFloat(name: string, defaultValue: number): number;
|
|
21
|
-
getDouble(name: string, defaultValue: number): number;
|
|
22
|
-
getString(name: string, defaultValue: string): string;
|
|
23
|
-
remove(key: string): boolean;
|
|
24
|
-
entries(): IterableIterator<[string, any]>;
|
|
25
|
-
has(key: string): boolean;
|
|
26
|
-
size(): number;
|
|
27
|
-
equals(that: NBTTagCompound): boolean;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=NBTTagCompound.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NBTTagCompound.d.ts","sourceRoot":"","sources":["../src/NBTTagCompound.ts"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAW7C,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,OAAO,CAAC,IAAI,CAAgB;IAC5B,SAAgB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAa;WAEzC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,cAAc;WAIhE,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,UAAQ,GAAG,cAAc;gBAMrF,IAAI,GAAE,MAAM,GAAG,IAAW;IAItC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAQxC,QAAQ,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;IAInC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI;IAcvD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI;IAcjE,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,UAAQ,GAAG,IAAI;IAM7E,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAInD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAIpD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAIrD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAInD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAIpD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAIrD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAIrD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAI1C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,IAAI,IAAI,MAAM;IAKd,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO;CA+C/C"}
|