Skip to content

Commit 5544aa8

Browse files
committed
fix: fix NbtAPI
1 parent c7a3115 commit 5544aa8

File tree

1 file changed

+24
-24
lines changed

1 file changed

+24
-24
lines changed

src/legacy/api/NbtAPI.cpp

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -933,37 +933,37 @@ void NbtListClassAddHelper(ListTag* tag, Local<Array>& arr) {
933933
> 0) { // ListTag::add deletes the Tag which is provided as argument, so make a copy of Tag before using it.
934934
Local<Value> t = arr.get(0);
935935
if (IsInstanceOf<NbtByteClass>(t))
936-
for (size_t i = 0; i < arr.size(); ++i) tag->add(*NbtByteClass::extract(arr.get(i))->copy());
936+
for (size_t i = 0; i < arr.size(); ++i) tag->add(NbtByteClass::extract(arr.get(i))->copy());
937937
else if (IsInstanceOf<NbtShortClass>(t))
938-
for (size_t i = 0; i < arr.size(); ++i) tag->add(*NbtShortClass::extract(arr.get(i))->copy());
938+
for (size_t i = 0; i < arr.size(); ++i) tag->add(NbtShortClass::extract(arr.get(i))->copy());
939939
else if (IsInstanceOf<NbtIntClass>(t))
940-
for (size_t i = 0; i < arr.size(); ++i) tag->add(*NbtIntClass::extract(arr.get(i))->copy());
940+
for (size_t i = 0; i < arr.size(); ++i) tag->add(NbtIntClass::extract(arr.get(i))->copy());
941941
else if (IsInstanceOf<NbtLongClass>(t))
942-
for (size_t i = 0; i < arr.size(); ++i) tag->add(*NbtLongClass::extract(arr.get(i))->copy());
942+
for (size_t i = 0; i < arr.size(); ++i) tag->add(NbtLongClass::extract(arr.get(i))->copy());
943943
else if (IsInstanceOf<NbtFloatClass>(t))
944-
for (size_t i = 0; i < arr.size(); ++i) tag->add(*NbtFloatClass::extract(arr.get(i))->copy());
944+
for (size_t i = 0; i < arr.size(); ++i) tag->add(NbtFloatClass::extract(arr.get(i))->copy());
945945
else if (IsInstanceOf<NbtDoubleClass>(t))
946-
for (size_t i = 0; i < arr.size(); ++i) tag->add(*NbtDoubleClass::extract(arr.get(i))->copy());
946+
for (size_t i = 0; i < arr.size(); ++i) tag->add(NbtDoubleClass::extract(arr.get(i))->copy());
947947
else if (IsInstanceOf<NbtStringClass>(t))
948-
for (size_t i = 0; i < arr.size(); ++i) tag->add(*NbtStringClass::extract(arr.get(i))->copy());
948+
for (size_t i = 0; i < arr.size(); ++i) tag->add(NbtStringClass::extract(arr.get(i))->copy());
949949
else if (IsInstanceOf<NbtByteArrayClass>(t))
950-
for (size_t i = 0; i < arr.size(); ++i) tag->add(*NbtByteArrayClass::extract(arr.get(i))->copy());
950+
for (size_t i = 0; i < arr.size(); ++i) tag->add(NbtByteArrayClass::extract(arr.get(i))->copy());
951951
else if (IsInstanceOf<NbtListClass>(t))
952-
for (size_t i = 0; i < arr.size(); ++i) tag->add(*NbtListClass::extract(arr.get(i))->copyList());
952+
for (size_t i = 0; i < arr.size(); ++i) tag->add(NbtListClass::extract(arr.get(i))->copyList());
953953
else if (IsInstanceOf<NbtCompoundClass>(t))
954-
for (size_t i = 0; i < arr.size(); ++i) tag->add(*NbtCompoundClass::extract(arr.get(i))->clone());
954+
for (size_t i = 0; i < arr.size(); ++i) tag->add(NbtCompoundClass::extract(arr.get(i))->clone());
955955
else if (t.isArray()) {
956956
for (size_t i = 0; i < arr.size(); ++i) {
957-
auto arrTag = ListTag();
957+
auto arrTag = std::make_unique<ListTag>();
958958
auto data = arr.get(i).asArray();
959-
NbtListClassAddHelper(&arrTag, data);
959+
NbtListClassAddHelper(arrTag.get(), data);
960960
tag->add(std::move(arrTag));
961961
}
962962
} else if (t.isObject()) {
963963
for (size_t i = 0; i < arr.size(); ++i) {
964-
auto objTag = CompoundTag();
964+
auto objTag = std::make_unique<CompoundTag>();
965965
auto data = arr.get(i).asObject();
966-
NbtCompoundClassAddHelper(&objTag, data);
966+
NbtCompoundClassAddHelper(objTag.get(), data);
967967
tag->add(std::move(objTag));
968968
}
969969
} else {
@@ -1277,25 +1277,25 @@ Local<Value> NbtListClass::addTag(const Arguments& args) {
12771277

12781278
try { // ListTag::add deletes the Tag which is provided as argument, so make a copy of Tag before using it.
12791279
if (IsInstanceOf<NbtByteClass>(args[0])) {
1280-
nbt->add(*NbtByteClass::extract(args[0])->copy());
1280+
nbt->add(NbtByteClass::extract(args[0])->copy());
12811281
} else if (IsInstanceOf<NbtShortClass>(args[0])) {
1282-
nbt->add(*NbtShortClass::extract(args[0])->copy());
1282+
nbt->add(NbtShortClass::extract(args[0])->copy());
12831283
} else if (IsInstanceOf<NbtIntClass>(args[0])) {
1284-
nbt->add(*NbtIntClass::extract(args[0])->copy());
1284+
nbt->add(NbtIntClass::extract(args[0])->copy());
12851285
} else if (IsInstanceOf<NbtLongClass>(args[0])) {
1286-
nbt->add(*NbtLongClass::extract(args[0])->copy());
1286+
nbt->add(NbtLongClass::extract(args[0])->copy());
12871287
} else if (IsInstanceOf<NbtFloatClass>(args[0])) {
1288-
nbt->add(*NbtFloatClass::extract(args[0])->copy());
1288+
nbt->add(NbtFloatClass::extract(args[0])->copy());
12891289
} else if (IsInstanceOf<NbtDoubleClass>(args[0])) {
1290-
nbt->add(*NbtDoubleClass::extract(args[0])->copy());
1290+
nbt->add(NbtDoubleClass::extract(args[0])->copy());
12911291
} else if (IsInstanceOf<NbtStringClass>(args[0])) {
1292-
nbt->add(*NbtStringClass::extract(args[0])->copy());
1292+
nbt->add(NbtStringClass::extract(args[0])->copy());
12931293
} else if (IsInstanceOf<NbtByteArrayClass>(args[0])) {
1294-
nbt->add(*NbtByteArrayClass::extract(args[0])->copy());
1294+
nbt->add(NbtByteArrayClass::extract(args[0])->copy());
12951295
} else if (IsInstanceOf<NbtListClass>(args[0])) {
1296-
nbt->add(*NbtListClass::extract(args[0])->copyList());
1296+
nbt->add(NbtListClass::extract(args[0])->copyList());
12971297
} else if (IsInstanceOf<NbtCompoundClass>(args[0])) {
1298-
nbt->add(*NbtCompoundClass::extract(args[0])->clone());
1298+
nbt->add(NbtCompoundClass::extract(args[0])->clone());
12991299
} else {
13001300
LOG_ERROR_WITH_SCRIPT_INFO(__FUNCTION__, "Unknown type! Cannot add Tag into List");
13011301
return Local<Value>();

0 commit comments

Comments
 (0)