mcbe-leveldb 1.4.0 → 1.5.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/Changelog.md CHANGED
@@ -1,3 +1,19 @@
1
+ # v1.5.0
2
+
3
+ ## Additions
4
+
5
+ - Added custom serializers and parsers for the following content types:
6
+ - `BlockEntity`
7
+ - `Entity`
8
+ - `PendingTicks`
9
+ - `RandomTicks`
10
+
11
+ ## Changes
12
+
13
+ - Marked the following content types as deprecated:
14
+ - `FlatWorldLayers`
15
+ - `Entity`
16
+
1
17
  # v1.4.0
2
18
 
3
19
  ## Critical fixes
package/LevelUtils.js CHANGED
@@ -662,7 +662,7 @@ export const entryContentTypeToFormatMap = {
662
662
  */
663
663
  LegacyTerrain: { type: "unknown" },
664
664
  /**
665
- * A block entity associated with a chunk.
665
+ * A list of block entities associated with a chunk.
666
666
  *
667
667
  * @see {@link NBTSchemas.nbtSchemas.BlockEntity}
668
668
  */
@@ -670,17 +670,113 @@ export const entryContentTypeToFormatMap = {
670
670
  /**
671
671
  * The format type of the data.
672
672
  */
673
- type: "NBT",
673
+ type: "custom",
674
+ /**
675
+ * The format type that results from the {@link entryContentTypeToFormatMap.BlockEntity.parse | parse} method.
676
+ */
677
+ resultType: "JSONNBT",
678
+ /**
679
+ * The function to parse the data.
680
+ *
681
+ * The {@link data} parameter should be the buffer read directly from the file or LevelDB entry.
682
+ *
683
+ * @param data The data to parse, as a buffer.
684
+ * @returns A promise that resolves with the parsed data.
685
+ *
686
+ * @throws {any} If an error occurs while parsing the data.
687
+ */
688
+ async parse(data) {
689
+ const blockEntities = [];
690
+ let currentIndex = 0;
691
+ while (currentIndex < data.length) {
692
+ const result = await NBT.parse(data.subarray(currentIndex), "little");
693
+ currentIndex += result.metadata.size;
694
+ blockEntities.push(result.parsed.value);
695
+ }
696
+ return {
697
+ type: "compound",
698
+ value: {
699
+ blockEntities: {
700
+ type: "list",
701
+ value: {
702
+ type: "compound",
703
+ value: blockEntities,
704
+ },
705
+ },
706
+ },
707
+ };
708
+ },
709
+ /**
710
+ * The function to serialize the data.
711
+ *
712
+ * This result of this can be written directly to the file or LevelDB entry.
713
+ *
714
+ * @param data The data to serialize.
715
+ * @returns The serialized data, as a buffer.
716
+ */
717
+ serialize(data) {
718
+ const nbtData = data.value.blockEntities.value.value.map((blockEntity) => NBT.writeUncompressed({ name: "", type: "compound", value: blockEntity }, "little"));
719
+ return Buffer.concat(nbtData);
720
+ },
674
721
  },
675
722
  /**
676
- * @todo Figure out what the NBT structure of this is.
723
+ * @deprecated No longer used.
724
+ *
725
+ * @todo Figure out what version this was deprecated in (it exists in v1.16.40 but not in 1.21.51).
677
726
  * @todo Add a description for this.
678
727
  */
679
728
  Entity: {
680
729
  /**
681
730
  * The format type of the data.
682
731
  */
683
- type: "NBT",
732
+ type: "custom",
733
+ /**
734
+ * The format type that results from the {@link entryContentTypeToFormatMap.Entity.parse | parse} method.
735
+ */
736
+ resultType: "JSONNBT",
737
+ /**
738
+ * The function to parse the data.
739
+ *
740
+ * The {@link data} parameter should be the buffer read directly from the file or LevelDB entry.
741
+ *
742
+ * @param data The data to parse, as a buffer.
743
+ * @returns A promise that resolves with the parsed data.
744
+ *
745
+ * @throws {any} If an error occurs while parsing the data.
746
+ */
747
+ async parse(data) {
748
+ const entities = [];
749
+ let currentIndex = 0;
750
+ while (currentIndex < data.length) {
751
+ const result = await NBT.parse(data.subarray(currentIndex), "little");
752
+ currentIndex += result.metadata.size;
753
+ entities.push(result.parsed.value);
754
+ }
755
+ return {
756
+ type: "compound",
757
+ value: {
758
+ entities: {
759
+ type: "list",
760
+ value: {
761
+ type: "compound",
762
+ value: entities,
763
+ },
764
+ },
765
+ },
766
+ };
767
+ },
768
+ /**
769
+ * The function to serialize the data.
770
+ *
771
+ * This result of this can be written directly to the file or LevelDB entry.
772
+ *
773
+ * @param data The data to serialize.
774
+ * @returns The serialized data, as a buffer.
775
+ */
776
+ serialize(data) {
777
+ const nbtData = data.value.entities.value.value.map((entity) => NBT.writeUncompressed({ name: "", type: "compound", value: entity }, "little"));
778
+ return Buffer.concat(nbtData);
779
+ },
684
780
  },
685
781
  /**
686
782
  * @todo Add a schema for this.
@@ -690,8 +786,54 @@ export const entryContentTypeToFormatMap = {
690
786
  /**
691
787
  * The format type of the data.
692
788
  */
693
- type: "NBT",
694
- // TO-DO: Add a default value for this.
789
+ type: "custom",
790
+ /**
791
+ * The format type that results from the {@link entryContentTypeToFormatMap.PendingTicks.parse | parse} method.
792
+ */
793
+ resultType: "JSONNBT",
794
+ /**
795
+ * The function to parse the data.
796
+ *
797
+ * The {@link data} parameter should be the buffer read directly from the file or LevelDB entry.
798
+ *
799
+ * @param data The data to parse, as a buffer.
800
+ * @returns A promise that resolves with the parsed data.
801
+ *
802
+ * @throws {any} If an error occurs while parsing the data.
803
+ */
804
+ async parse(data) {
805
+ const pendingTicks /* TO-DO */ /* NBTSchemas.NBTSchemaTypes.PendingTicks["value"][] */ = [];
806
+ let currentIndex = 0;
807
+ while (currentIndex < data.length) {
808
+ const result = await NBT.parse(data.subarray(currentIndex), "little");
809
+ currentIndex += result.metadata.size;
810
+ pendingTicks.push(result.parsed.value /* TO-DO */ /* NBTSchemas.NBTSchemaTypes.PendingTicks["value"] */);
811
+ }
812
+ return {
813
+ type: "compound",
814
+ value: {
815
+ pendingTicks: {
816
+ type: "list",
817
+ value: {
818
+ type: "compound",
819
+ value: pendingTicks,
820
+ },
821
+ },
822
+ },
823
+ };
824
+ },
825
+ /**
826
+ * The function to serialize the data.
827
+ *
828
+ * This result of this can be written directly to the file or LevelDB entry.
829
+ *
830
+ * @param data The data to serialize.
831
+ * @returns The serialized data, as a buffer.
832
+ */
833
+ serialize(data) {
834
+ const nbtData = data.value.pendingTicks.value.value.map((pendingTick /* TO-DO */ /* NBTSchemas.NBTSchemaTypes.PendingTicks["value"] */) => NBT.writeUncompressed({ name: "", type: "compound", value: pendingTick }, "little"));
835
+ return Buffer.concat(nbtData);
836
+ },
695
837
  },
696
838
  /**
697
839
  * @deprecated Only used in versions < 1.2.3.
@@ -753,6 +895,7 @@ export const entryContentTypeToFormatMap = {
753
895
  */
754
896
  BorderBlocks: { type: "unknown" },
755
897
  /**
898
+ * @todo Check if this still exists.
756
899
  * @todo Add a schema for this.
757
900
  * @todo Add a description for this.
758
901
  */
@@ -770,8 +913,54 @@ export const entryContentTypeToFormatMap = {
770
913
  /**
771
914
  * The format type of the data.
772
915
  */
773
- type: "NBT",
774
- // TO-DO: Add a default value for this.
916
+ type: "custom",
917
+ /**
918
+ * The format type that results from the {@link entryContentTypeToFormatMap.RandomTicks.parse | parse} method.
919
+ */
920
+ resultType: "JSONNBT",
921
+ /**
922
+ * The function to parse the data.
923
+ *
924
+ * The {@link data} parameter should be the buffer read directly from the file or LevelDB entry.
925
+ *
926
+ * @param data The data to parse, as a buffer.
927
+ * @returns A promise that resolves with the parsed data.
928
+ *
929
+ * @throws {any} If an error occurs while parsing the data.
930
+ */
931
+ async parse(data) {
932
+ const randomTicks /* TO-DO */ /* NBTSchemas.NBTSchemaTypes.RandomTicks["value"][] */ = [];
933
+ let currentIndex = 0;
934
+ while (currentIndex < data.length) {
935
+ const result = await NBT.parse(data.subarray(currentIndex), "little");
936
+ currentIndex += result.metadata.size;
937
+ randomTicks.push(result.parsed.value /* TO-DO */ /* NBTSchemas.NBTSchemaTypes.RandomTicks["value"] */);
938
+ }
939
+ return {
940
+ type: "compound",
941
+ value: {
942
+ randomTicks: {
943
+ type: "list",
944
+ value: {
945
+ type: "compound",
946
+ value: randomTicks,
947
+ },
948
+ },
949
+ },
950
+ };
951
+ },
952
+ /**
953
+ * The function to serialize the data.
954
+ *
955
+ * This result of this can be written directly to the file or LevelDB entry.
956
+ *
957
+ * @param data The data to serialize.
958
+ * @returns The serialized data, as a buffer.
959
+ */
960
+ serialize(data) {
961
+ const nbtData = data.value.randomTicks.value.value.map((randomTick /* TO-DO */ /* NBTSchemas.NBTSchemaTypes.RandomTicks["value"] */) => NBT.writeUncompressed({ name: "", type: "compound", value: randomTick }, "little"));
962
+ return Buffer.concat(nbtData);
963
+ },
775
964
  },
776
965
  /**
777
966
  * @deprecated Only used in versions < 1.18.0.
@@ -786,6 +975,7 @@ export const entryContentTypeToFormatMap = {
786
975
  type: "unknown",
787
976
  },
788
977
  /**
978
+ * @todo Check if this still exists.
789
979
  * @todo Figure out how to parse this.
790
980
  * @todo Add a description for this.
791
981
  */
@@ -1013,7 +1203,8 @@ export const entryContentTypeToFormatMap = {
1013
1203
  type: "NBT",
1014
1204
  },
1015
1205
  /**
1016
- * @todo Check if this still exists.
1206
+ * @deprecated Only used in versions < 1.5.0.
1207
+ *
1017
1208
  * @todo Add a description for this.
1018
1209
  */
1019
1210
  FlatWorldLayers: {
package/LevelUtils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"LevelUtils.js","sourceRoot":"","sources":["LevelUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LevelUtils.js","sourceRoot":"","sources":["LevelUtils.ts"],"names":[],"mappings":"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"}
package/LevelUtils.ts CHANGED
@@ -746,26 +746,28 @@ export const entryContentTypeToFormatMap = {
746
746
  data.value.layerCount.value,
747
747
  ...(data.value.version.value >= 0x09 ? [data.value.subChunkIndex!.value] : []),
748
748
  ]);
749
- const layerBuffers: Buffer<ArrayBuffer>[] = data.value.layers.value.value.map((layer: NBTSchemas.NBTSchemaTypes.SubChunkPrefixLayer["value"]): Buffer<ArrayBuffer> => {
750
- const bitsPerBlock: number = layer.storageVersion.value >> 1;
751
- const blocksPerWord: number = Math.floor(32 / bitsPerBlock);
752
- const numints: number = Math.ceil(4096 / blocksPerWord);
753
- const bytes: number[] = [layer.storageVersion.value];
754
- const blockIndicesBuffer: Buffer<ArrayBuffer> = Buffer.alloc(Math.ceil(numints * 4));
755
- writeBlockIndices(blockIndicesBuffer, 0, layer.block_indices.value.value, bitsPerBlock, blocksPerWord);
756
- bytes.push(...blockIndicesBuffer);
757
- const paletteLengthBuffer: Buffer<ArrayBuffer> = Buffer.alloc(4);
758
- setInt32Val(paletteLengthBuffer, 0, Object.keys(layer.palette.value).length);
759
- bytes.push(...paletteLengthBuffer);
760
- const paletteKeys: `${bigint}`[] = (Object.keys(layer.palette.value) as `${bigint}`[]).sort(
761
- (a: `${bigint}`, b: `${bigint}`): number => Number(a) - Number(b)
762
- );
763
- for (let paletteIndex: number = 0; paletteIndex < paletteKeys.length; paletteIndex++) {
764
- const block: NBTSchemas.NBTSchemaTypes.Block = layer.palette.value[paletteKeys[paletteIndex]!]!;
765
- bytes.push(...NBT.writeUncompressed({ name: "", ...block }, "little"));
749
+ const layerBuffers: Buffer<ArrayBuffer>[] = data.value.layers.value.value.map(
750
+ (layer: NBTSchemas.NBTSchemaTypes.SubChunkPrefixLayer["value"]): Buffer<ArrayBuffer> => {
751
+ const bitsPerBlock: number = layer.storageVersion.value >> 1;
752
+ const blocksPerWord: number = Math.floor(32 / bitsPerBlock);
753
+ const numints: number = Math.ceil(4096 / blocksPerWord);
754
+ const bytes: number[] = [layer.storageVersion.value];
755
+ const blockIndicesBuffer: Buffer<ArrayBuffer> = Buffer.alloc(Math.ceil(numints * 4));
756
+ writeBlockIndices(blockIndicesBuffer, 0, layer.block_indices.value.value, bitsPerBlock, blocksPerWord);
757
+ bytes.push(...blockIndicesBuffer);
758
+ const paletteLengthBuffer: Buffer<ArrayBuffer> = Buffer.alloc(4);
759
+ setInt32Val(paletteLengthBuffer, 0, Object.keys(layer.palette.value).length);
760
+ bytes.push(...paletteLengthBuffer);
761
+ const paletteKeys: `${bigint}`[] = (Object.keys(layer.palette.value) as `${bigint}`[]).sort(
762
+ (a: `${bigint}`, b: `${bigint}`): number => Number(a) - Number(b)
763
+ );
764
+ for (let paletteIndex: number = 0; paletteIndex < paletteKeys.length; paletteIndex++) {
765
+ const block: NBTSchemas.NBTSchemaTypes.Block = layer.palette.value[paletteKeys[paletteIndex]!]!;
766
+ bytes.push(...NBT.writeUncompressed({ name: "", ...block }, "little"));
767
+ }
768
+ return Buffer.from(bytes);
766
769
  }
767
- return Buffer.from(bytes);
768
- });
770
+ );
769
771
  return Buffer.concat([buffer, ...layerBuffers]);
770
772
  },
771
773
  // TO-DO: Add a default value for this.
@@ -778,7 +780,7 @@ export const entryContentTypeToFormatMap = {
778
780
  */
779
781
  LegacyTerrain: { type: "unknown" },
780
782
  /**
781
- * A block entity associated with a chunk.
783
+ * A list of block entities associated with a chunk.
782
784
  *
783
785
  * @see {@link NBTSchemas.nbtSchemas.BlockEntity}
784
786
  */
@@ -786,17 +788,151 @@ export const entryContentTypeToFormatMap = {
786
788
  /**
787
789
  * The format type of the data.
788
790
  */
789
- type: "NBT",
791
+ type: "custom",
792
+ /**
793
+ * The format type that results from the {@link entryContentTypeToFormatMap.BlockEntity.parse | parse} method.
794
+ */
795
+ resultType: "JSONNBT",
796
+ /**
797
+ * The function to parse the data.
798
+ *
799
+ * The {@link data} parameter should be the buffer read directly from the file or LevelDB entry.
800
+ *
801
+ * @param data The data to parse, as a buffer.
802
+ * @returns A promise that resolves with the parsed data.
803
+ *
804
+ * @throws {any} If an error occurs while parsing the data.
805
+ */
806
+ async parse(data: Buffer): Promise<{
807
+ type: "compound";
808
+ value: {
809
+ blockEntities: {
810
+ type: "list";
811
+ value: { type: "compound"; value: NBTSchemas.NBTSchemaTypes.BlockEntity["value"][] };
812
+ };
813
+ };
814
+ }> {
815
+ const blockEntities: NBTSchemas.NBTSchemaTypes.BlockEntity["value"][] = [];
816
+ let currentIndex: number = 0;
817
+ while (currentIndex < data.length) {
818
+ const result = await NBT.parse(data.subarray(currentIndex), "little");
819
+ currentIndex += result.metadata.size;
820
+ blockEntities.push(result.parsed.value as NBTSchemas.NBTSchemaTypes.BlockEntity["value"]);
821
+ }
822
+ return {
823
+ type: "compound",
824
+ value: {
825
+ blockEntities: {
826
+ type: "list",
827
+ value: {
828
+ type: "compound",
829
+ value: blockEntities,
830
+ },
831
+ },
832
+ },
833
+ };
834
+ },
835
+ /**
836
+ * The function to serialize the data.
837
+ *
838
+ * This result of this can be written directly to the file or LevelDB entry.
839
+ *
840
+ * @param data The data to serialize.
841
+ * @returns The serialized data, as a buffer.
842
+ */
843
+ serialize(data: {
844
+ type: "compound";
845
+ value: {
846
+ blockEntities: {
847
+ type: "list";
848
+ value: { type: "compound"; value: NBTSchemas.NBTSchemaTypes.BlockEntity["value"][] };
849
+ };
850
+ };
851
+ }): Buffer<ArrayBuffer> {
852
+ const nbtData: Buffer[] = data.value.blockEntities.value.value.map(
853
+ (blockEntity: NBTSchemas.NBTSchemaTypes.BlockEntity["value"]): Buffer =>
854
+ NBT.writeUncompressed({ name: "", type: "compound", value: blockEntity }, "little")
855
+ );
856
+ return Buffer.concat(nbtData);
857
+ },
790
858
  },
791
859
  /**
792
- * @todo Figure out what the NBT structure of this is.
860
+ * @deprecated No longer used.
861
+ *
862
+ * @todo Figure out what version this was deprecated in (it exists in v1.16.40 but not in 1.21.51).
793
863
  * @todo Add a description for this.
794
864
  */
795
865
  Entity: {
796
866
  /**
797
867
  * The format type of the data.
798
868
  */
799
- type: "NBT",
869
+ type: "custom",
870
+ /**
871
+ * The format type that results from the {@link entryContentTypeToFormatMap.Entity.parse | parse} method.
872
+ */
873
+ resultType: "JSONNBT",
874
+ /**
875
+ * The function to parse the data.
876
+ *
877
+ * The {@link data} parameter should be the buffer read directly from the file or LevelDB entry.
878
+ *
879
+ * @param data The data to parse, as a buffer.
880
+ * @returns A promise that resolves with the parsed data.
881
+ *
882
+ * @throws {any} If an error occurs while parsing the data.
883
+ */
884
+ async parse(data: Buffer): Promise<{
885
+ type: "compound";
886
+ value: {
887
+ entities: {
888
+ type: "list";
889
+ value: { type: "compound"; value: NBTSchemas.NBTSchemaTypes.ActorPrefix["value"][] };
890
+ };
891
+ };
892
+ }> {
893
+ const entities: NBTSchemas.NBTSchemaTypes.ActorPrefix["value"][] = [];
894
+ let currentIndex: number = 0;
895
+ while (currentIndex < data.length) {
896
+ const result = await NBT.parse(data.subarray(currentIndex), "little");
897
+ currentIndex += result.metadata.size;
898
+ entities.push(result.parsed.value as NBTSchemas.NBTSchemaTypes.ActorPrefix["value"]);
899
+ }
900
+ return {
901
+ type: "compound",
902
+ value: {
903
+ entities: {
904
+ type: "list",
905
+ value: {
906
+ type: "compound",
907
+ value: entities,
908
+ },
909
+ },
910
+ },
911
+ };
912
+ },
913
+ /**
914
+ * The function to serialize the data.
915
+ *
916
+ * This result of this can be written directly to the file or LevelDB entry.
917
+ *
918
+ * @param data The data to serialize.
919
+ * @returns The serialized data, as a buffer.
920
+ */
921
+ serialize(data: {
922
+ type: "compound";
923
+ value: {
924
+ entities: {
925
+ type: "list";
926
+ value: { type: "compound"; value: NBTSchemas.NBTSchemaTypes.ActorPrefix["value"][] };
927
+ };
928
+ };
929
+ }): Buffer<ArrayBuffer> {
930
+ const nbtData: Buffer[] = data.value.entities.value.value.map(
931
+ (entity: NBTSchemas.NBTSchemaTypes.ActorPrefix["value"]): Buffer =>
932
+ NBT.writeUncompressed({ name: "", type: "compound", value: entity }, "little")
933
+ );
934
+ return Buffer.concat(nbtData);
935
+ },
800
936
  },
801
937
  /**
802
938
  * @todo Add a schema for this.
@@ -806,8 +942,73 @@ export const entryContentTypeToFormatMap = {
806
942
  /**
807
943
  * The format type of the data.
808
944
  */
809
- type: "NBT",
810
- // TO-DO: Add a default value for this.
945
+ type: "custom",
946
+ /**
947
+ * The format type that results from the {@link entryContentTypeToFormatMap.PendingTicks.parse | parse} method.
948
+ */
949
+ resultType: "JSONNBT",
950
+ /**
951
+ * The function to parse the data.
952
+ *
953
+ * The {@link data} parameter should be the buffer read directly from the file or LevelDB entry.
954
+ *
955
+ * @param data The data to parse, as a buffer.
956
+ * @returns A promise that resolves with the parsed data.
957
+ *
958
+ * @throws {any} If an error occurs while parsing the data.
959
+ */
960
+ async parse(data: Buffer): Promise<{
961
+ type: "compound";
962
+ value: {
963
+ pendingTicks: {
964
+ type: "list";
965
+ value: { type: "compound"; value: NBT.Compound["value"][] /* TO-DO */ /* NBTSchemas.NBTSchemaTypes.PendingTicks["value"][] */ };
966
+ };
967
+ };
968
+ }> {
969
+ const pendingTicks: NBT.Compound["value"][] /* TO-DO */ /* NBTSchemas.NBTSchemaTypes.PendingTicks["value"][] */ = [];
970
+ let currentIndex: number = 0;
971
+ while (currentIndex < data.length) {
972
+ const result = await NBT.parse(data.subarray(currentIndex), "little");
973
+ currentIndex += result.metadata.size;
974
+ pendingTicks.push(result.parsed.value as NBT.Compound["value"] /* TO-DO */ /* NBTSchemas.NBTSchemaTypes.PendingTicks["value"] */);
975
+ }
976
+ return {
977
+ type: "compound",
978
+ value: {
979
+ pendingTicks: {
980
+ type: "list",
981
+ value: {
982
+ type: "compound",
983
+ value: pendingTicks,
984
+ },
985
+ },
986
+ },
987
+ };
988
+ },
989
+ /**
990
+ * The function to serialize the data.
991
+ *
992
+ * This result of this can be written directly to the file or LevelDB entry.
993
+ *
994
+ * @param data The data to serialize.
995
+ * @returns The serialized data, as a buffer.
996
+ */
997
+ serialize(data: {
998
+ type: "compound";
999
+ value: {
1000
+ pendingTicks: {
1001
+ type: "list";
1002
+ value: { type: "compound"; value: NBT.Compound["value"][] /* TO-DO */ /* NBTSchemas.NBTSchemaTypes.PendingTicks["value"][] */ };
1003
+ };
1004
+ };
1005
+ }): Buffer<ArrayBuffer> {
1006
+ const nbtData: Buffer[] = data.value.pendingTicks.value.value.map(
1007
+ (pendingTick: NBT.Compound["value"] /* TO-DO */ /* NBTSchemas.NBTSchemaTypes.PendingTicks["value"] */): Buffer =>
1008
+ NBT.writeUncompressed({ name: "", type: "compound", value: pendingTick }, "little")
1009
+ );
1010
+ return Buffer.concat(nbtData);
1011
+ },
811
1012
  },
812
1013
  /**
813
1014
  * @deprecated Only used in versions < 1.2.3.
@@ -869,6 +1070,7 @@ export const entryContentTypeToFormatMap = {
869
1070
  */
870
1071
  BorderBlocks: { type: "unknown" },
871
1072
  /**
1073
+ * @todo Check if this still exists.
872
1074
  * @todo Add a schema for this.
873
1075
  * @todo Add a description for this.
874
1076
  */
@@ -886,8 +1088,73 @@ export const entryContentTypeToFormatMap = {
886
1088
  /**
887
1089
  * The format type of the data.
888
1090
  */
889
- type: "NBT",
890
- // TO-DO: Add a default value for this.
1091
+ type: "custom",
1092
+ /**
1093
+ * The format type that results from the {@link entryContentTypeToFormatMap.RandomTicks.parse | parse} method.
1094
+ */
1095
+ resultType: "JSONNBT",
1096
+ /**
1097
+ * The function to parse the data.
1098
+ *
1099
+ * The {@link data} parameter should be the buffer read directly from the file or LevelDB entry.
1100
+ *
1101
+ * @param data The data to parse, as a buffer.
1102
+ * @returns A promise that resolves with the parsed data.
1103
+ *
1104
+ * @throws {any} If an error occurs while parsing the data.
1105
+ */
1106
+ async parse(data: Buffer): Promise<{
1107
+ type: "compound";
1108
+ value: {
1109
+ randomTicks: {
1110
+ type: "list";
1111
+ value: { type: "compound"; value: NBT.Compound["value"][] /* TO-DO */ /* NBTSchemas.NBTSchemaTypes.RandomTicks["value"][] */ };
1112
+ };
1113
+ };
1114
+ }> {
1115
+ const randomTicks: NBT.Compound["value"][] /* TO-DO */ /* NBTSchemas.NBTSchemaTypes.RandomTicks["value"][] */ = [];
1116
+ let currentIndex: number = 0;
1117
+ while (currentIndex < data.length) {
1118
+ const result = await NBT.parse(data.subarray(currentIndex), "little");
1119
+ currentIndex += result.metadata.size;
1120
+ randomTicks.push(result.parsed.value as NBT.Compound["value"] /* TO-DO */ /* NBTSchemas.NBTSchemaTypes.RandomTicks["value"] */);
1121
+ }
1122
+ return {
1123
+ type: "compound",
1124
+ value: {
1125
+ randomTicks: {
1126
+ type: "list",
1127
+ value: {
1128
+ type: "compound",
1129
+ value: randomTicks,
1130
+ },
1131
+ },
1132
+ },
1133
+ };
1134
+ },
1135
+ /**
1136
+ * The function to serialize the data.
1137
+ *
1138
+ * This result of this can be written directly to the file or LevelDB entry.
1139
+ *
1140
+ * @param data The data to serialize.
1141
+ * @returns The serialized data, as a buffer.
1142
+ */
1143
+ serialize(data: {
1144
+ type: "compound";
1145
+ value: {
1146
+ randomTicks: {
1147
+ type: "list";
1148
+ value: { type: "compound"; value: NBT.Compound["value"][] /* TO-DO */ /* NBTSchemas.NBTSchemaTypes.RandomTicks["value"][] */ };
1149
+ };
1150
+ };
1151
+ }): Buffer<ArrayBuffer> {
1152
+ const nbtData: Buffer[] = data.value.randomTicks.value.value.map(
1153
+ (randomTick: NBT.Compound["value"] /* TO-DO */ /* NBTSchemas.NBTSchemaTypes.RandomTicks["value"] */): Buffer =>
1154
+ NBT.writeUncompressed({ name: "", type: "compound", value: randomTick }, "little")
1155
+ );
1156
+ return Buffer.concat(nbtData);
1157
+ },
891
1158
  },
892
1159
  /**
893
1160
  * @deprecated Only used in versions < 1.18.0.
@@ -902,6 +1169,7 @@ export const entryContentTypeToFormatMap = {
902
1169
  type: "unknown",
903
1170
  },
904
1171
  /**
1172
+ * @todo Check if this still exists.
905
1173
  * @todo Figure out how to parse this.
906
1174
  * @todo Add a description for this.
907
1175
  */
@@ -1129,7 +1397,8 @@ export const entryContentTypeToFormatMap = {
1129
1397
  type: "NBT",
1130
1398
  },
1131
1399
  /**
1132
- * @todo Check if this still exists.
1400
+ * @deprecated Only used in versions < 1.5.0.
1401
+ *
1133
1402
  * @todo Add a description for this.
1134
1403
  */
1135
1404
  FlatWorldLayers: {
@@ -2016,7 +2285,10 @@ export function getChunkKeyIndices(key: Buffer): SubChunkIndexDimensionVectorXZ
2016
2285
  * @param chunkKeyType The chunk key type.
2017
2286
  * @returns The raw chunk key.
2018
2287
  */
2019
- export function generateChunkKeyFromIndices(indices: SubChunkIndexDimensionVectorXZ | DimensionVectorXZ, chunkKeyType: DBChunkKeyEntryContentType): Buffer<ArrayBuffer> {
2288
+ export function generateChunkKeyFromIndices(
2289
+ indices: SubChunkIndexDimensionVectorXZ | DimensionVectorXZ,
2290
+ chunkKeyType: DBChunkKeyEntryContentType
2291
+ ): Buffer<ArrayBuffer> {
2020
2292
  const buffer: Buffer<ArrayBuffer> = Buffer.alloc(
2021
2293
  (indices.dimension === "overworld" ? 9 : 13) + +("subChunkIndex" in indices && indices.subChunkIndex !== undefined)
2022
2294
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcbe-leveldb",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "main": "index.ts",
5
5
  "scripts": {
6
6
  "prepublishOnly": "tsc -p ./tsconfig.production.json",