@jsprismarine/nbt 0.1.0-rc.53 → 0.1.0
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/LICENSE +373 -0
- package/dist/Allocation.cjs.js +14 -0
- package/dist/Allocation.es.js +10 -0
- package/dist/ByteOrder-C8lF6w2G.cjs +16 -0
- package/dist/ByteOrder-mAT605jQ.js +13 -0
- package/dist/ByteOrder.cjs.js +10 -0
- package/dist/ByteOrder.es.js +2 -0
- package/dist/NBT.cjs.js +30 -0
- package/dist/NBT.d.ts +7 -7
- package/dist/NBT.d.ts.map +1 -1
- package/dist/NBT.es.js +16 -0
- package/dist/NBTDefinitions-BF_rcBoW.js +23 -0
- package/dist/NBTDefinitions-DUnu0laJ.cjs +26 -0
- package/dist/NBTDefinitions.cjs.js +10 -0
- package/dist/NBTDefinitions.es.js +2 -0
- package/dist/NBTReader.cjs.js +23 -0
- package/dist/NBTReader.d.ts +4 -4
- package/dist/NBTReader.d.ts.map +1 -1
- package/dist/NBTReader.es.js +15 -0
- package/dist/NBTStreamReader.cjs.js +119 -0
- package/dist/NBTStreamReader.d.ts +9 -9
- package/dist/NBTStreamReader.d.ts.map +1 -1
- package/dist/NBTStreamReader.es.js +115 -0
- package/dist/NBTTagCompound.cjs.js +23 -0
- package/dist/NBTTagCompound.d.ts +1 -1
- package/dist/NBTTagCompound.d.ts.map +1 -1
- package/dist/NBTTagCompound.es.js +15 -0
- package/dist/NBTWriter-CWx4uanO.js +515 -0
- package/dist/NBTWriter-KG_h2i_E.cjs +524 -0
- package/dist/NBTWriter.cjs.js +23 -0
- package/dist/NBTWriter.d.ts +2 -2
- package/dist/NBTWriter.d.ts.map +1 -1
- package/dist/NBTWriter.es.js +15 -0
- package/dist/Types-7TSvUTtn.js +21 -0
- package/dist/Types-CTvMjHAk.cjs +23 -0
- package/dist/types/ByteVal.cjs.js +16 -0
- package/dist/types/ByteVal.es.js +12 -0
- package/dist/types/DoubleVal.cjs.js +16 -0
- package/dist/types/DoubleVal.es.js +12 -0
- package/dist/types/FloatVal.cjs.js +16 -0
- package/dist/types/FloatVal.es.js +12 -0
- package/dist/types/LongVal.cjs.js +16 -0
- package/dist/types/LongVal.es.js +12 -0
- package/dist/types/NumberVal.cjs.js +16 -0
- package/dist/types/NumberVal.es.js +12 -0
- package/dist/types/ShortVal.cjs.js +16 -0
- package/dist/types/ShortVal.es.js +12 -0
- package/dist/types/StringVal.cjs.js +16 -0
- package/dist/types/StringVal.es.js +12 -0
- package/dist/types/Types.cjs.js +22 -0
- package/dist/types/Types.d.ts +7 -7
- package/dist/types/Types.d.ts.map +1 -1
- package/dist/types/Types.es.js +8 -0
- package/package.json +50 -27
- package/dist/Allocation.js +0 -8
- package/dist/Allocation.js.map +0 -1
- package/dist/ByteOrder.js +0 -6
- package/dist/ByteOrder.js.map +0 -1
- package/dist/NBT.js +0 -9
- package/dist/NBT.js.map +0 -1
- package/dist/NBTDefinitions.js +0 -16
- package/dist/NBTDefinitions.js.map +0 -1
- package/dist/NBTReader.js +0 -157
- package/dist/NBTReader.js.map +0 -1
- package/dist/NBTStreamReader.js +0 -113
- package/dist/NBTStreamReader.js.map +0 -1
- package/dist/NBTTagCompound.js +0 -137
- package/dist/NBTTagCompound.js.map +0 -1
- package/dist/NBTWriter.js +0 -242
- package/dist/NBTWriter.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/types/ByteVal.js +0 -10
- package/dist/types/ByteVal.js.map +0 -1
- package/dist/types/DoubleVal.js +0 -10
- package/dist/types/DoubleVal.js.map +0 -1
- package/dist/types/FloatVal.js +0 -10
- package/dist/types/FloatVal.js.map +0 -1
- package/dist/types/LongVal.js +0 -10
- package/dist/types/LongVal.js.map +0 -1
- package/dist/types/NumberVal.js +0 -10
- package/dist/types/NumberVal.js.map +0 -1
- package/dist/types/ShortVal.js +0 -10
- package/dist/types/ShortVal.js.map +0 -1
- package/dist/types/StringVal.js +0 -10
- package/dist/types/StringVal.js.map +0 -1
- package/dist/types/Types.js +0 -9
- package/dist/types/Types.js.map +0 -1
package/dist/NBTReader.js
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
/* eslint-disable complexity */
|
|
2
|
-
import { Allocation } from './Allocation.js';
|
|
3
|
-
import { NBTDefinitions } from './NBTDefinitions.js';
|
|
4
|
-
import NBTStreamReader from './NBTStreamReader.js';
|
|
5
|
-
import NBTTagCompound from './NBTTagCompound.js';
|
|
6
|
-
export default class NBTReader extends NBTStreamReader {
|
|
7
|
-
constructor(input, byteOrder) {
|
|
8
|
-
super(input, byteOrder);
|
|
9
|
-
}
|
|
10
|
-
parseList() {
|
|
11
|
-
this.expectInput(this.isUsingVarint() ? 2 : 3, 'Invalid NBT Data: Not enough data to read new tag', false);
|
|
12
|
-
if (this.readByteValue().getValue() !== NBTDefinitions.TAG_LIST) {
|
|
13
|
-
throw new Error('Invalid NBT Data: Not list tag found');
|
|
14
|
-
}
|
|
15
|
-
this.readStringValue();
|
|
16
|
-
return this.readTagListValue();
|
|
17
|
-
}
|
|
18
|
-
parse() {
|
|
19
|
-
this.expectInput(this.isUsingVarint() ? 2 : 3, 'Invalid NBT Data: Not enough data to read new tag', false);
|
|
20
|
-
if (this.readByteValue().getValue() !== NBTDefinitions.TAG_COMPOUND) {
|
|
21
|
-
throw new Error('Invalid NBT Data: No root tag found');
|
|
22
|
-
}
|
|
23
|
-
const name = this.readStringValue().getValue();
|
|
24
|
-
const root = this.readTagCompoundValue();
|
|
25
|
-
root.setName(name);
|
|
26
|
-
return root;
|
|
27
|
-
}
|
|
28
|
-
readTagCompoundValue() {
|
|
29
|
-
this.alterAllocationLimit(Allocation.COMPOUND);
|
|
30
|
-
const compound = new NBTTagCompound();
|
|
31
|
-
this.expectInput(1, 'Invalid NBT Data: Expected Tag ID in compound tag', false);
|
|
32
|
-
let tagID = this.readByteValue().getValue();
|
|
33
|
-
while (tagID !== NBTDefinitions.TAG_END) {
|
|
34
|
-
switch (tagID) {
|
|
35
|
-
case NBTDefinitions.TAG_BYTE:
|
|
36
|
-
compound.addValue(this.readStringValue().getValue(), this.readByteValue());
|
|
37
|
-
break;
|
|
38
|
-
case NBTDefinitions.TAG_SHORT:
|
|
39
|
-
compound.addValue(this.readStringValue().getValue(), this.readShortValue());
|
|
40
|
-
break;
|
|
41
|
-
case NBTDefinitions.TAG_INT:
|
|
42
|
-
compound.addValue(this.readStringValue().getValue(), this.readIntValue());
|
|
43
|
-
break;
|
|
44
|
-
case NBTDefinitions.TAG_LONG:
|
|
45
|
-
compound.addValue(this.readStringValue().getValue(), this.readLongValue());
|
|
46
|
-
break;
|
|
47
|
-
case NBTDefinitions.TAG_FLOAT:
|
|
48
|
-
compound.addValue(this.readStringValue().getValue(), this.readFloatValue());
|
|
49
|
-
break;
|
|
50
|
-
case NBTDefinitions.TAG_DOUBLE:
|
|
51
|
-
compound.addValue(this.readStringValue().getValue(), this.readDoubleValue());
|
|
52
|
-
break;
|
|
53
|
-
case NBTDefinitions.TAG_BYTE_ARRAY:
|
|
54
|
-
compound.addValue(this.readStringValue().getValue(), this.readByteArrayValue());
|
|
55
|
-
break;
|
|
56
|
-
case NBTDefinitions.TAG_STRING:
|
|
57
|
-
compound.addValue(this.readStringValue().getValue(), this.readStringValue());
|
|
58
|
-
break;
|
|
59
|
-
case NBTDefinitions.TAG_LIST:
|
|
60
|
-
compound.addValue(this.readStringValue().getValue(), this.readTagListValue());
|
|
61
|
-
break;
|
|
62
|
-
case NBTDefinitions.TAG_COMPOUND:
|
|
63
|
-
const name = this.readStringValue().getValue();
|
|
64
|
-
const child = this.readTagCompoundValue();
|
|
65
|
-
child.setName(name);
|
|
66
|
-
compound.addChild(child);
|
|
67
|
-
break;
|
|
68
|
-
case NBTDefinitions.TAG_INT_ARRAY:
|
|
69
|
-
compound.addValue(this.readStringValue().getValue(), this.readIntArrayValue());
|
|
70
|
-
break;
|
|
71
|
-
default:
|
|
72
|
-
throw new Error(`Invalid NBT Data: Unknown tag <${tagID}>`);
|
|
73
|
-
}
|
|
74
|
-
this.expectInput(1, 'Invalid NBT Data: Expected tag ID in tag compound', false);
|
|
75
|
-
tagID = this.readByteValue().getValue();
|
|
76
|
-
}
|
|
77
|
-
return compound;
|
|
78
|
-
}
|
|
79
|
-
readTagListValue() {
|
|
80
|
-
this.expectInput(this.isUsingVarint() ? 2 : 5, 'Invalid NBT Data: Expected TAGList header', false);
|
|
81
|
-
const listType = this.readByteValue().getValue();
|
|
82
|
-
let listLength = this.readIntValue().getValue();
|
|
83
|
-
this.alterAllocationLimit(Allocation.ARRAY_LIST);
|
|
84
|
-
this.alterAllocationLimit(Allocation.REFERENCE);
|
|
85
|
-
const backingList = new Set();
|
|
86
|
-
switch (listType) {
|
|
87
|
-
case NBTDefinitions.TAG_END:
|
|
88
|
-
listLength = 0;
|
|
89
|
-
break;
|
|
90
|
-
case NBTDefinitions.TAG_BYTE:
|
|
91
|
-
this.expectInput(listLength, 'Invalid NBT Data: Expected bytes for list');
|
|
92
|
-
for (let i = 0; i < listLength; i++) {
|
|
93
|
-
backingList.add(this.readShortValue());
|
|
94
|
-
}
|
|
95
|
-
break;
|
|
96
|
-
case NBTDefinitions.TAG_SHORT:
|
|
97
|
-
this.expectInput(2 * listLength, 'Invalid NBT Data: Expected shorts for list');
|
|
98
|
-
for (let i = 0; i < listLength; i++) {
|
|
99
|
-
backingList.add(this.readShortValue());
|
|
100
|
-
}
|
|
101
|
-
break;
|
|
102
|
-
case NBTDefinitions.TAG_INT:
|
|
103
|
-
this.expectInput(4 * listLength, 'Invalid NBT Data: Expected ints for list');
|
|
104
|
-
for (let i = 0; i < listLength; i++) {
|
|
105
|
-
backingList.add(this.readIntValue());
|
|
106
|
-
}
|
|
107
|
-
break;
|
|
108
|
-
case NBTDefinitions.TAG_LONG:
|
|
109
|
-
this.expectInput(8 * listLength, 'Invalid NBT Data: Expected longs for list');
|
|
110
|
-
for (let i = 0; i < listLength; i++) {
|
|
111
|
-
backingList.add(this.readLongValue());
|
|
112
|
-
}
|
|
113
|
-
break;
|
|
114
|
-
case NBTDefinitions.TAG_FLOAT:
|
|
115
|
-
this.expectInput(4 * listLength, 'Invalid NBT Data: Expected floats for list');
|
|
116
|
-
for (let i = 0; i < listLength; i++) {
|
|
117
|
-
backingList.add(this.readFloatValue());
|
|
118
|
-
}
|
|
119
|
-
break;
|
|
120
|
-
case NBTDefinitions.TAG_DOUBLE:
|
|
121
|
-
this.expectInput(8 * listLength, 'Invalid NBT Data: Expected doubles for list');
|
|
122
|
-
for (let i = 0; i < listLength; i++) {
|
|
123
|
-
backingList.add(this.readDoubleValue());
|
|
124
|
-
}
|
|
125
|
-
break;
|
|
126
|
-
case NBTDefinitions.TAG_BYTE_ARRAY:
|
|
127
|
-
for (let i = 0; i < listLength; i++) {
|
|
128
|
-
backingList.add(this.readByteArrayValue());
|
|
129
|
-
}
|
|
130
|
-
break;
|
|
131
|
-
case NBTDefinitions.TAG_STRING:
|
|
132
|
-
for (let i = 0; i < listLength; i++) {
|
|
133
|
-
backingList.add(this.readStringValue());
|
|
134
|
-
}
|
|
135
|
-
break;
|
|
136
|
-
case NBTDefinitions.TAG_LIST:
|
|
137
|
-
for (let i = 0; i < listLength; i++) {
|
|
138
|
-
backingList.add(this.readTagListValue());
|
|
139
|
-
}
|
|
140
|
-
break;
|
|
141
|
-
case NBTDefinitions.TAG_COMPOUND:
|
|
142
|
-
for (let i = 0; i < listLength; i++) {
|
|
143
|
-
backingList.add(this.readTagCompoundValue());
|
|
144
|
-
}
|
|
145
|
-
break;
|
|
146
|
-
case NBTDefinitions.TAG_INT_ARRAY:
|
|
147
|
-
for (let i = 0; i < listLength; i++) {
|
|
148
|
-
backingList.add(this.readIntArrayValue());
|
|
149
|
-
}
|
|
150
|
-
break;
|
|
151
|
-
default:
|
|
152
|
-
throw new Error(`Invalid NBT Data: Unknown tag <${listType}>`);
|
|
153
|
-
}
|
|
154
|
-
return backingList;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
//# sourceMappingURL=NBTReader.js.map
|
package/dist/NBTReader.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NBTReader.js","sourceRoot":"","sources":["../src/NBTReader.ts"],"names":[],"mappings":"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"}
|
package/dist/NBTStreamReader.js
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { ByteOrder } from './ByteOrder.js';
|
|
2
|
-
import ByteVal from './types/ByteVal.js';
|
|
3
|
-
import DoubleVal from './types/DoubleVal.js';
|
|
4
|
-
import FloatVal from './types/FloatVal.js';
|
|
5
|
-
import LongVal from './types/LongVal.js';
|
|
6
|
-
import NumberVal from './types/NumberVal.js';
|
|
7
|
-
import ShortVal from './types/ShortVal.js';
|
|
8
|
-
import StringVal from './types/StringVal.js';
|
|
9
|
-
export default class NBTStreamReader {
|
|
10
|
-
input;
|
|
11
|
-
byteOrder;
|
|
12
|
-
useVarint = false;
|
|
13
|
-
allocateLimit = -1;
|
|
14
|
-
constructor(input, byteOrder) {
|
|
15
|
-
this.input = input;
|
|
16
|
-
this.byteOrder = byteOrder;
|
|
17
|
-
}
|
|
18
|
-
isUsingVarint() {
|
|
19
|
-
return this.useVarint;
|
|
20
|
-
}
|
|
21
|
-
setUseVarint(useVarint) {
|
|
22
|
-
this.useVarint = useVarint;
|
|
23
|
-
}
|
|
24
|
-
setAllocateLimit(allocateLimit) {
|
|
25
|
-
this.allocateLimit = allocateLimit;
|
|
26
|
-
}
|
|
27
|
-
readByteValue() {
|
|
28
|
-
this.expectInput(1, 'Invalid NBT Data: Expected byte');
|
|
29
|
-
return new ByteVal(this.input.readByte());
|
|
30
|
-
}
|
|
31
|
-
readStringValue() {
|
|
32
|
-
const length = this.useVarint ? this.input.readUnsignedVarInt() : this.readShortValue().getValue();
|
|
33
|
-
this.expectInput(length, 'Invalid NBT Data: Expected string bytes');
|
|
34
|
-
const data = this.input.read(length);
|
|
35
|
-
return new StringVal(data.toString('utf8'));
|
|
36
|
-
}
|
|
37
|
-
readShortValue() {
|
|
38
|
-
this.expectInput(2, 'Invalid NBT Data: Expected short');
|
|
39
|
-
if (this.byteOrder === ByteOrder.LITTLE_ENDIAN) {
|
|
40
|
-
return new ShortVal(this.input.readShortLE());
|
|
41
|
-
}
|
|
42
|
-
return new ShortVal(this.input.readShort());
|
|
43
|
-
}
|
|
44
|
-
readIntValue() {
|
|
45
|
-
if (this.useVarint) {
|
|
46
|
-
return new NumberVal(this.input.readVarInt());
|
|
47
|
-
}
|
|
48
|
-
this.expectInput(4, 'Invalid NBT Data: Expected int');
|
|
49
|
-
if (this.byteOrder === ByteOrder.LITTLE_ENDIAN) {
|
|
50
|
-
return new NumberVal(this.input.readIntLE());
|
|
51
|
-
}
|
|
52
|
-
return new NumberVal(this.input.readInt());
|
|
53
|
-
}
|
|
54
|
-
readLongValue() {
|
|
55
|
-
if (this.useVarint) {
|
|
56
|
-
return new LongVal(this.input.readVarLong());
|
|
57
|
-
}
|
|
58
|
-
this.expectInput(8, 'Invalid NBT Data: Expected long');
|
|
59
|
-
if (this.byteOrder === ByteOrder.LITTLE_ENDIAN) {
|
|
60
|
-
return new LongVal(this.input.readLongLE());
|
|
61
|
-
}
|
|
62
|
-
return new LongVal(this.input.readLong());
|
|
63
|
-
}
|
|
64
|
-
readFloatValue() {
|
|
65
|
-
this.expectInput(4, 'Invalid NBT Data: Expected long');
|
|
66
|
-
if (this.byteOrder === ByteOrder.LITTLE_ENDIAN) {
|
|
67
|
-
return new FloatVal(this.input.readFloatLE());
|
|
68
|
-
}
|
|
69
|
-
return new FloatVal(this.input.readFloat());
|
|
70
|
-
}
|
|
71
|
-
readDoubleValue() {
|
|
72
|
-
this.expectInput(8, 'Invalid NBT Data: Expected double');
|
|
73
|
-
if (this.byteOrder === ByteOrder.LITTLE_ENDIAN) {
|
|
74
|
-
return new DoubleVal(this.input.readDoubleLE());
|
|
75
|
-
}
|
|
76
|
-
return new DoubleVal(this.input.readDouble());
|
|
77
|
-
}
|
|
78
|
-
readByteArrayValue() {
|
|
79
|
-
const size = this.readIntValue().getValue();
|
|
80
|
-
this.expectInput(size, 'Invalid NBT Data: Expected byte array data');
|
|
81
|
-
return this.input.read(size);
|
|
82
|
-
}
|
|
83
|
-
readIntArrayValue() {
|
|
84
|
-
const size = this.readIntValue().getValue();
|
|
85
|
-
this.expectInput(this.isUsingVarint() ? size : size * 4, 'Invalid NBT Data: Expected int array data');
|
|
86
|
-
const result = [];
|
|
87
|
-
for (let i = 0; i < size; i++) {
|
|
88
|
-
result.push(this.readIntValue().getValue());
|
|
89
|
-
}
|
|
90
|
-
return result;
|
|
91
|
-
}
|
|
92
|
-
expectInput(remaining, message, alterAllocationLimit = true) {
|
|
93
|
-
if (alterAllocationLimit) {
|
|
94
|
-
this.alterAllocationLimit(remaining);
|
|
95
|
-
}
|
|
96
|
-
const length = this.input.readRemaining().byteLength;
|
|
97
|
-
this.input.skip(-length);
|
|
98
|
-
if (length < remaining) {
|
|
99
|
-
throw new Error(message);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
alterAllocationLimit(remaining) {
|
|
103
|
-
if (this.allocateLimit !== -1) {
|
|
104
|
-
if (this.allocateLimit - remaining < 0) {
|
|
105
|
-
throw new Error('Could not allocate more bytes due to reaching the set limit');
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
this.allocateLimit -= remaining;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=NBTStreamReader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NBTStreamReader.js","sourceRoot":"","sources":["../src/NBTStreamReader.ts"],"names":[],"mappings":"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"}
|
package/dist/NBTTagCompound.js
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs';
|
|
2
|
-
import BinaryStream from '@jsprismarine/jsbinaryutils';
|
|
3
|
-
import ByteVal from './types/ByteVal.js';
|
|
4
|
-
import DoubleVal from './types/DoubleVal.js';
|
|
5
|
-
import FloatVal from './types/FloatVal.js';
|
|
6
|
-
import LongVal from './types/LongVal.js';
|
|
7
|
-
import NBTReader from './NBTReader.js';
|
|
8
|
-
import NBTWriter from './NBTWriter.js';
|
|
9
|
-
import NumberVal from './types/NumberVal.js';
|
|
10
|
-
import ShortVal from './types/ShortVal.js';
|
|
11
|
-
import StringVal from './types/StringVal.js';
|
|
12
|
-
export default class NBTTagCompound {
|
|
13
|
-
name;
|
|
14
|
-
children = new Map();
|
|
15
|
-
static readFromFile(path, byteOrder) {
|
|
16
|
-
return NBTTagCompound.readFromStream(new BinaryStream(fs.readFileSync(path)), byteOrder);
|
|
17
|
-
}
|
|
18
|
-
static readFromStream(input, byteOrder) {
|
|
19
|
-
const reader = new NBTReader(input, byteOrder);
|
|
20
|
-
return reader.parse();
|
|
21
|
-
}
|
|
22
|
-
constructor(name = null) {
|
|
23
|
-
this.name = name;
|
|
24
|
-
}
|
|
25
|
-
setName(name) {
|
|
26
|
-
this.name = name;
|
|
27
|
-
}
|
|
28
|
-
getName() {
|
|
29
|
-
return this.name;
|
|
30
|
-
}
|
|
31
|
-
addValue(name, value) {
|
|
32
|
-
if (value instanceof NBTTagCompound && !(name === value.getName())) {
|
|
33
|
-
throw new Error(`Failed to add NBTTagCompound with name ${value.getName()} given name ${name}`);
|
|
34
|
-
}
|
|
35
|
-
this.children.set(name, value);
|
|
36
|
-
}
|
|
37
|
-
addChild(tag) {
|
|
38
|
-
this.children.set(tag.getName(), tag);
|
|
39
|
-
}
|
|
40
|
-
getList(name, insert) {
|
|
41
|
-
if (this.children.has(name)) {
|
|
42
|
-
return this.children.get(name);
|
|
43
|
-
}
|
|
44
|
-
if (insert) {
|
|
45
|
-
const backingList = new Set();
|
|
46
|
-
this.addValue(name, backingList);
|
|
47
|
-
return backingList;
|
|
48
|
-
}
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
getCompound(name, insert) {
|
|
52
|
-
if (this.children.has(name)) {
|
|
53
|
-
return this.children.get(name);
|
|
54
|
-
}
|
|
55
|
-
if (insert) {
|
|
56
|
-
const compound = new NBTTagCompound();
|
|
57
|
-
this.addValue(name, compound);
|
|
58
|
-
return compound;
|
|
59
|
-
}
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
writeToStream(out, byteOrder) {
|
|
63
|
-
const writer = new NBTWriter(out, byteOrder);
|
|
64
|
-
writer.writeCompound(this);
|
|
65
|
-
}
|
|
66
|
-
getByte(name, defaultValue) {
|
|
67
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
68
|
-
}
|
|
69
|
-
getShort(name, defaultValue) {
|
|
70
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
71
|
-
}
|
|
72
|
-
getNumber(name, defaultValue) {
|
|
73
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
74
|
-
}
|
|
75
|
-
getLong(name, defaultValue) {
|
|
76
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
77
|
-
}
|
|
78
|
-
getFloat(name, defaultValue) {
|
|
79
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
80
|
-
}
|
|
81
|
-
getDouble(name, defaultValue) {
|
|
82
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
83
|
-
}
|
|
84
|
-
getString(name, defaultValue) {
|
|
85
|
-
return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
|
|
86
|
-
}
|
|
87
|
-
remove(key) {
|
|
88
|
-
return this.children.delete(key);
|
|
89
|
-
}
|
|
90
|
-
entries() {
|
|
91
|
-
return this.children.entries();
|
|
92
|
-
}
|
|
93
|
-
has(key) {
|
|
94
|
-
return this.children.has(key);
|
|
95
|
-
}
|
|
96
|
-
size() {
|
|
97
|
-
return this.children.size;
|
|
98
|
-
}
|
|
99
|
-
// Thanks stackoverflow! https://stackoverflow.com/questions/35948335/how-can-i-check-if-two-map-objects-are-equal
|
|
100
|
-
equals(that) {
|
|
101
|
-
if (this.children.size !== that.children.size) {
|
|
102
|
-
return false;
|
|
103
|
-
}
|
|
104
|
-
for (const [key, val] of this.children) {
|
|
105
|
-
const testVal = that.children.get(key);
|
|
106
|
-
if (testVal === undefined && !that.children.has(key)) {
|
|
107
|
-
return false;
|
|
108
|
-
}
|
|
109
|
-
if (val instanceof NBTTagCompound && testVal instanceof NBTTagCompound && !val.equals(testVal)) {
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
if (val instanceof ByteVal && testVal instanceof ByteVal && val.getValue() !== testVal.getValue()) {
|
|
113
|
-
return false;
|
|
114
|
-
}
|
|
115
|
-
if (val instanceof DoubleVal && testVal instanceof DoubleVal && val.getValue() !== testVal.getValue()) {
|
|
116
|
-
return false;
|
|
117
|
-
}
|
|
118
|
-
if (val instanceof FloatVal && testVal instanceof FloatVal && val.getValue() !== testVal.getValue()) {
|
|
119
|
-
return false;
|
|
120
|
-
}
|
|
121
|
-
if (val instanceof LongVal && testVal instanceof LongVal && val.getValue() !== testVal.getValue()) {
|
|
122
|
-
return false;
|
|
123
|
-
}
|
|
124
|
-
if (val instanceof NumberVal && testVal instanceof NumberVal && val.getValue() !== testVal.getValue()) {
|
|
125
|
-
return false;
|
|
126
|
-
}
|
|
127
|
-
if (val instanceof ShortVal && testVal instanceof ShortVal && val.getValue() !== testVal.getValue()) {
|
|
128
|
-
return false;
|
|
129
|
-
}
|
|
130
|
-
if (val instanceof StringVal && testVal instanceof StringVal && val.getValue() !== testVal.getValue()) {
|
|
131
|
-
return false;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
return true;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
//# sourceMappingURL=NBTTagCompound.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NBTTagCompound.js","sourceRoot":"","sources":["../src/NBTTagCompound.ts"],"names":[],"mappings":"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"}
|