@@ -340,8 +340,7 @@ NbtByteClass::NbtByteClass(std::unique_ptr<ByteTag> p) : ScriptClass(ScriptClass
340
340
341
341
NbtByteClass* NbtByteClass::constructor (const Arguments& args) {
342
342
try {
343
- auto tag = ByteTag ((char )args[0 ].toInt ());
344
- return new NbtByteClass (args.thiz (), std::move (std::make_unique<ByteTag>(tag)));
343
+ return new NbtByteClass (args.thiz (), std::move (std::make_unique<ByteTag>((char )args[0 ].toInt ())));
345
344
}
346
345
CATCH_C (" Fail in Create ByteTag!" );
347
346
}
@@ -411,8 +410,7 @@ NbtIntClass::NbtIntClass(std::unique_ptr<IntTag> p) : ScriptClass(ScriptClass::C
411
410
412
411
NbtIntClass* NbtIntClass::constructor (const Arguments& args) {
413
412
try {
414
- auto tag = IntTag (args[0 ].toInt ());
415
- return new NbtIntClass (args.thiz (), std::make_unique<IntTag>(tag));
413
+ return new NbtIntClass (args.thiz (), std::make_unique<IntTag>(args[0 ].toInt ()));
416
414
}
417
415
CATCH_C (" Fail in Create IntTag!" );
418
416
}
@@ -483,8 +481,7 @@ NbtShortClass::NbtShortClass(std::unique_ptr<ShortTag> p)
483
481
484
482
NbtShortClass* NbtShortClass::constructor (const Arguments& args) {
485
483
try {
486
- auto tag = ShortTag (args[0 ].toInt ());
487
- return new NbtShortClass (args.thiz (), std::make_unique<ShortTag>(tag));
484
+ return new NbtShortClass (args.thiz (), std::make_unique<ShortTag>(args[0 ].toInt ()));
488
485
}
489
486
CATCH_C (" Fail in Create ShortTag!" );
490
487
}
@@ -554,8 +551,7 @@ NbtLongClass::NbtLongClass(std::unique_ptr<Int64Tag> p) : ScriptClass(ScriptClas
554
551
555
552
NbtLongClass* NbtLongClass::constructor (const Arguments& args) {
556
553
try {
557
- auto tag = Int64Tag (args[0 ].asNumber ().toInt64 ());
558
- return new NbtLongClass (args.thiz (), std::make_unique<Int64Tag>(tag));
554
+ return new NbtLongClass (args.thiz (), std::make_unique<Int64Tag>(args[0 ].asNumber ().toInt64 ()));
559
555
}
560
556
CATCH_C (" Fail in Create LongTag!" );
561
557
}
@@ -626,8 +622,7 @@ NbtFloatClass::NbtFloatClass(std::unique_ptr<FloatTag> p)
626
622
627
623
NbtFloatClass* NbtFloatClass::constructor (const Arguments& args) {
628
624
try {
629
- auto tag = FloatTag (args[0 ].asNumber ().toFloat ());
630
- return new NbtFloatClass (args.thiz (), std::make_unique<FloatTag>(tag));
625
+ return new NbtFloatClass (args.thiz (), std::make_unique<FloatTag>(args[0 ].asNumber ().toFloat ()));
631
626
}
632
627
CATCH_C (" Fail in Create FloatTag!" );
633
628
}
@@ -698,8 +693,7 @@ NbtDoubleClass::NbtDoubleClass(std::unique_ptr<DoubleTag> p)
698
693
699
694
NbtDoubleClass* NbtDoubleClass::constructor (const Arguments& args) {
700
695
try {
701
- auto tag = DoubleTag (args[0 ].asNumber ().toDouble ());
702
- return new NbtDoubleClass (args.thiz (), std::make_unique<DoubleTag>(tag));
696
+ return new NbtDoubleClass (args.thiz (), std::make_unique<DoubleTag>(args[0 ].asNumber ().toDouble ()));
703
697
}
704
698
CATCH_C (" Fail in Create DoubleTag!" );
705
699
}
@@ -770,8 +764,7 @@ NbtStringClass::NbtStringClass(std::unique_ptr<StringTag> p)
770
764
771
765
NbtStringClass* NbtStringClass::constructor (const Arguments& args) {
772
766
try {
773
- auto tag = StringTag (args[0 ].toStr ());
774
- return new NbtStringClass (args.thiz (), std::make_unique<StringTag>(tag));
767
+ return new NbtStringClass (args.thiz (), std::make_unique<StringTag>(args[0 ].toStr ()));
775
768
}
776
769
CATCH_C (" Fail in Create StringTag!" );
777
770
}
@@ -845,7 +838,7 @@ NbtByteArrayClass* NbtByteArrayClass::constructor(const Arguments& args) {
845
838
try {
846
839
auto buf = args[0 ].asByteBuffer ();
847
840
848
- std::unique_ptr<ByteArrayTag> arrayTag = std::make_unique<ByteArrayTag>(ByteArrayTag () );
841
+ std::unique_ptr<ByteArrayTag> arrayTag = std::make_unique<ByteArrayTag>();
849
842
for (char c : buf.describeUtf8 ()) {
850
843
arrayTag->push_back (c);
851
844
}
@@ -971,14 +964,14 @@ void NbtListClassAddHelper(ListTag* tag, Local<Array>& arr) {
971
964
972
965
NbtListClass* NbtListClass::constructor (const Arguments& args) {
973
966
try {
974
- auto tag = ListTag ();
967
+ auto tag = std::make_unique< ListTag> ();
975
968
976
969
if (args.size () >= 1 && args[0 ].isArray ()) {
977
970
auto arr = args[0 ].asArray ();
978
- NbtListClassAddHelper (& tag, arr);
971
+ NbtListClassAddHelper (tag. get () , arr);
979
972
}
980
973
981
- return new NbtListClass (args.thiz (), std::make_unique<ListTag> (tag));
974
+ return new NbtListClass (args.thiz (), std::move (tag));
982
975
}
983
976
CATCH_C (" Fail in Create ListTag!" );
984
977
}
@@ -1470,14 +1463,14 @@ void NbtCompoundClassAddHelper(CompoundTag* tag, Local<Object>& obj) {
1470
1463
1471
1464
NbtCompoundClass* NbtCompoundClass::constructor (const Arguments& args) {
1472
1465
try {
1473
- auto tag = CompoundTag ();
1466
+ auto tag = std::make_unique< CompoundTag> ();
1474
1467
1475
1468
if (args.size () >= 1 && args[0 ].isObject ()) {
1476
1469
auto obj = args[0 ].asObject ();
1477
- NbtCompoundClassAddHelper (& tag, obj);
1470
+ NbtCompoundClassAddHelper (tag. get () , obj);
1478
1471
}
1479
1472
1480
- return new NbtCompoundClass (args.thiz (), std::make_unique<CompoundTag> (tag));
1473
+ return new NbtCompoundClass (args.thiz (), std::move (tag));
1481
1474
}
1482
1475
CATCH_C (" Fail in Create ListTag!" );
1483
1476
}
@@ -1960,7 +1953,7 @@ Local<Value> NbtStatic::parseSNBT(const Arguments& args) {
1960
1953
1961
1954
try {
1962
1955
auto tag = CompoundTag::fromSnbt (args[0 ].toStr ());
1963
- if (tag.has_value ()) return NbtCompoundClass::pack (& tag. value ());
1956
+ if (tag.has_value ()) return NbtCompoundClass::pack (tag-> clone ());
1964
1957
else return Local<Value>();
1965
1958
}
1966
1959
CATCH (" Fail in parseSNBT!" );
@@ -1973,7 +1966,7 @@ Local<Value> NbtStatic::parseBinaryNBT(const Arguments& args) {
1973
1966
try {
1974
1967
auto data = args[0 ].asByteBuffer ();
1975
1968
auto tag = CompoundTag::fromBinaryNbt (std::string_view ((char *)data.getRawBytes (), data.byteLength ()));
1976
- if (tag.has_value ()) return NbtCompoundClass::pack (& tag. value ());
1969
+ if (tag.has_value ()) return NbtCompoundClass::pack (tag-> clone ());
1977
1970
else return Local<Value>();
1978
1971
}
1979
1972
CATCH (" Fail in parseBinaryNBT!" );
0 commit comments