mcbe-leveldb 1.7.3 → 1.9.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,110 @@
1
+ # v1.9.0
2
+
3
+ ## Additions
4
+
5
+ - Added the `LevelChunkMetaDataDictionary` NBT schema.
6
+ - Added the `Digest` NBT schema.
7
+
8
+ ## Changes
9
+
10
+ - Changed the custom data structure of the `Digest` content type.
11
+
12
+ ## Fixes
13
+
14
+ - `prettyPrintSNBT` no longer inserts newlines when the `indent` option is set to `0`.
15
+
16
+ # v1.8.0
17
+
18
+ ## Critical Fixes
19
+
20
+ - Fixed a bug that has been around since the first version of this module where `MetaDataHash` keys were detected as `BlendingBiomeHeight` keys, `GeneratedPreCavesAndCliffsBlending` keys were detected as `MetaDataHash` keys, and `BlendingBiomeHeight` keys were detected as `GeneratedPreCavesAndCliffsBlending` keys.
21
+
22
+ ## Additions
23
+
24
+ - Added a custom serializer and parser for the `LevelChunkMetaDataDictionary` content type.
25
+ - Added the `BiomeIdsTable` content type.
26
+ - Added the `BiomeIdsTable` NBT schema.
27
+ - Added the `VillageRaid` content type.
28
+ - Added the `VillageRaid` NBT schema.
29
+ - Added the `PositionTrackingDB` content type.
30
+ - Added the `PositionTrackingLastId` content type.
31
+ - Added the `GenerationSeed` content type.
32
+ - Added the `LegacyDimension` content type.
33
+ - Added the `MVillages` content type.
34
+ - Added the `Villages` content type.
35
+ - Added the `LevelSpawnWasFixed` content type.
36
+ - Added a default value to the following properties of the following NBT schemas:
37
+ - `Map`
38
+ - `unlimitedTracking`
39
+ - `scale`
40
+ - `Scoreboard`
41
+ - `DisplayObjectives[number].SortOrder`
42
+ - `LevelDat`
43
+ - `functioncommandlimit`
44
+ - `maxcommandchainlength`
45
+ - `prid`
46
+ - `ActorPrefix`
47
+ - `Color`
48
+ - `Color2`
49
+ - `MarkVariant`
50
+ - `OwnerNew`
51
+ - `SkinID`
52
+ - `Strength`
53
+ - `StrengthMax`
54
+ - `Variant`
55
+ - `Entity_ItemEntity`
56
+ - `OwnerID`
57
+ - `Block_Piston`
58
+ - `NewState`
59
+ - Added enums to the following non-boolean properties of the following NBT schemas (added enums on boolean properties are not being listed in the changelog):
60
+ - `Scoreboard`
61
+ - `DisplayObjectives[number].SortOrder`
62
+ - `Objectives[number].Criteria`
63
+ - Added enums to many boolean NBT schema properties.
64
+ - Added descriptions and titles to many NBT schema properties.
65
+ - Added the `verticalFlySpeed` property to the `abilities` property of the `LevelDat` NBT schema.
66
+ - Added the `isRandomSeedAllowed` property to the `LevelDat` NBT schema.
67
+ - Added the `projectilescanbreakblocks` property to the `LevelDat` NBT schema.
68
+ - Added the `showrecipemessages` property to the `LevelDat` NBT schema.
69
+ - Added the `tntexplosiondropdecay` property to the `LevelDat` NBT schema.
70
+ - Documented the `InventoryVersion` property of the `LevelDat` NBT schema.
71
+ - Added more information to the documentation of the `texturePacksRequired` property of the `LevelDat` NBT schema.
72
+
73
+ ## Changes
74
+
75
+ - Documentation refactor to replace `Unknown.` in documentation entries of NBT schemas with one of:
76
+ - `UNKNOWN.`: If the schema for that tag is incomplete or completely empty as it is unknown what properties it has.
77
+ - `UNDOCUMENTED.`: If the tag with that description has not been documented yet or it is unknown what it does.
78
+ - Updated the `BiomeData` from `v1.21.80` to `v1.21.110` (the update has zero actual changes).
79
+ - Many properties of the `VillageDwellers`, `VillageInfo`, `VillagePOI`, and `VillagePlayers` NBT schemas are now marked as required.
80
+
81
+ ## Fixes
82
+
83
+ - Fixed a bug where the `list[number].id` property of the `BiomeData` NBT schema was of type `byte` instead of `short`.
84
+ - Fixed an incorrect TypeScript type version of the `Scoreboard` NBT schema.
85
+ - Fixed a bug where empty object types in the TypeScript type versions of NBT schemas were generated as `{}` instead of `object`.
86
+ - Fixed a bug where a few optional properties of the `VibrationListener` property of the `Entity_Allay` NBT schema were incorrectly marked as required.
87
+ - Fixed an incorrect NBT schema for the `decorations[number].key` property of the `Map` NBT schema.
88
+ - Removed a `minimum` value from the list items of the `structure_world_origin` property of the `StructureTemplate` NBT schema that should not have been there.
89
+ - Fixed the descriptions of the list items of the `structure_world_origin` property of the `StructureTemplate` NBT schema.
90
+ - Fixed an incorrect NBT schema for the `structure.palette.default.block_position_data` property of the `StructureTemplate` NBT schema.
91
+ - Fixed incorrect NBT schemas for following properties of the `LevelDat` NBT schema:
92
+ - `editorWorldType`
93
+ - `eduOffer`
94
+ - `functioncommandlimit`
95
+ - `spawnradius`
96
+ - Fixed a bug where the `LevelDat` NBT schema had the `limitedWorldDepth` property incorrectly capitalized as `LimitedWorldDepth`.
97
+ - Fixed a bug where the `LevelDat` NBT schema had the `limitedWorldWidth` property incorrectly capitalized as `LimitedWorldWidth`.
98
+ - Fixed an incorrectly structured default value for the `LevelName` property of the `LevelDat` NBT schema.
99
+ - Fixed incorrect documentation for the `NetworkVersion` property of the `LevelDat` NBT schema.
100
+ - Fixed a bug where a the following optional properties of the `ActorPrefix` NBT schema were incorrectly marked as required:
101
+ - `CustomNameVisible`
102
+ - `Fire`
103
+ - `Persistent`
104
+ - Minor whitespace fixes with some instances of the following in the documentation:
105
+ - `*needs testing*`
106
+ - `*info needed*`
107
+
1
108
  # v1.7.3
2
109
 
3
110
  ## Fixes
package/LevelUtils.d.ts CHANGED
@@ -43,7 +43,7 @@ export declare const gameModes: readonly ["survival", "creative", "adventure", u
43
43
  /**
44
44
  * The content types for LevelDB entries.
45
45
  */
46
- export declare const DBEntryContentTypes: readonly ["Data3D", "Version", "Data2D", "Data2DLegacy", "SubChunkPrefix", "LegacyTerrain", "BlockEntity", "Entity", "PendingTicks", "LegacyBlockExtraData", "BiomeState", "FinalizedState", "ConversionData", "BorderBlocks", "HardcodedSpawners", "RandomTicks", "Checksums", "MetaDataHash", "GeneratedPreCavesAndCliffsBlending", "BlendingBiomeHeight", "BlendingData", "ActorDigestVersion", "LegacyVersion", "AABBVolumes", "VillageDwellers", "VillageInfo", "VillagePOI", "VillagePlayers", "Player", "PlayerClient", "ActorPrefix", "ChunkLoadedRequest", "Digest", "Map", "Portals", "SchedulerWT", "StructureTemplate", "TickingArea", "FlatWorldLayers", "Scoreboard", "Dimension", "AutonomousEntities", "BiomeData", "MobEvents", "DynamicProperties", "LevelChunkMetaDataDictionary", "RealmsStoriesData", "LevelDat", "ForcedWorldCorruption", "Unknown"];
46
+ export declare const DBEntryContentTypes: readonly ["Data3D", "Version", "Data2D", "Data2DLegacy", "SubChunkPrefix", "LegacyTerrain", "BlockEntity", "Entity", "PendingTicks", "LegacyBlockExtraData", "BiomeState", "FinalizedState", "ConversionData", "BorderBlocks", "HardcodedSpawners", "RandomTicks", "Checksums", "GenerationSeed", "GeneratedPreCavesAndCliffsBlending", "BlendingBiomeHeight", "MetaDataHash", "BlendingData", "ActorDigestVersion", "LegacyVersion", "AABBVolumes", "VillageDwellers", "VillageInfo", "VillagePOI", "VillagePlayers", "VillageRaid", "Player", "PlayerClient", "ActorPrefix", "ChunkLoadedRequest", "Digest", "Map", "Portals", "SchedulerWT", "StructureTemplate", "TickingArea", "FlatWorldLayers", "LegacyDimension", "MVillages", "Villages", "LevelSpawnWasFixed", "PositionTrackingDB", "PositionTrackingLastId", "Scoreboard", "Dimension", "AutonomousEntities", "BiomeData", "BiomeIdsTable", "MobEvents", "DynamicProperties", "LevelChunkMetaDataDictionary", "RealmsStoriesData", "LevelDat", "ForcedWorldCorruption", "Unknown"];
47
47
  /**
48
48
  * The content type to format mapping for LevelDB entries.
49
49
  */
@@ -394,9 +394,11 @@ export declare const entryContentTypeToFormatMap: {
394
394
  readonly type: "unknown";
395
395
  };
396
396
  /**
397
- * @todo Check if this still exists.
397
+ * Bounding boxes for structure spawns, such as a Nether Fortress or Pillager Outpost.
398
+ *
399
+ * @deprecated Replaced with {@link AABBVolumes} in either 1.21.120 or one of the 1.21.120 previews.
400
+ *
398
401
  * @todo Figure out how to parse this.
399
- * @todo Add a description for this.
400
402
  */
401
403
  readonly HardcodedSpawners: {
402
404
  /**
@@ -416,23 +418,38 @@ export declare const entryContentTypeToFormatMap: {
416
418
  readonly type: "NBT";
417
419
  };
418
420
  /**
419
- * @deprecated Only used in versions < 1.18.0.
421
+ * The low segment of the 4 byte halves of the seed value used to generate the chunk.
420
422
  *
421
- * @todo Figure out how to parse this.
422
- * @todo Add a description for this.
423
+ * The low segment can also be found by reading the first 4 bytes of the seed as a little-endian signed integer when it is encoded as a little-endian 64-bit signed integer.
424
+ *
425
+ * @todo Check if this still exists (I have only seen it in a world from a 1.19.60.22 dev build).
423
426
  */
424
- readonly Checksums: {
427
+ readonly GenerationSeed: {
425
428
  /**
426
429
  * The format type of the data.
427
430
  */
428
- readonly type: "unknown";
431
+ readonly type: "int";
432
+ /**
433
+ * How many bytes this integer is.
434
+ */
435
+ readonly bytes: 4;
436
+ /**
437
+ * The endianness of the data.
438
+ */
439
+ readonly format: "LE";
440
+ /**
441
+ * The signedness of the data.
442
+ */
443
+ readonly signed: true;
429
444
  };
430
445
  /**
431
- * @todo Check if this still exists.
446
+ * xxHash64 checksums of `SubchunkBlocks`, `BlockEntities`, `Entities`, and `Data2D` values.
447
+ *
448
+ * @deprecated Only used in versions < 1.18.0.
449
+ *
432
450
  * @todo Figure out how to parse this.
433
- * @todo Add a description for this.
434
451
  */
435
- readonly MetaDataHash: {
452
+ readonly Checksums: {
436
453
  /**
437
454
  * The format type of the data.
438
455
  */
@@ -460,6 +477,19 @@ export declare const entryContentTypeToFormatMap: {
460
477
  */
461
478
  readonly type: "unknown";
462
479
  };
480
+ /**
481
+ * A hash which is the key in the `LevelChunkMetaDataDictionary` record
482
+ * for the NBT metadata of this chunk. Seems like it might default to something dependent
483
+ * on the current game or chunk version.
484
+ *
485
+ * @todo Figure out how to parse this.
486
+ */
487
+ readonly MetaDataHash: {
488
+ /**
489
+ * The format type of the data.
490
+ */
491
+ readonly type: "unknown";
492
+ };
463
493
  /**
464
494
  * @todo Figure out how to parse this.
465
495
  * @todo Add a description for this.
@@ -505,6 +535,30 @@ export declare const entryContentTypeToFormatMap: {
505
535
  */
506
536
  readonly signed: false;
507
537
  };
538
+ /**
539
+ * @deprecated It is unknown when this was removed, it was found in a Windows 10 Edition Beta v0.15.0 world.
540
+ *
541
+ * @todo Add a schema for this.
542
+ * @todo Add a description for this.
543
+ */
544
+ readonly MVillages: {
545
+ /**
546
+ * The format type of the data.
547
+ */
548
+ readonly type: "NBT";
549
+ };
550
+ /**
551
+ * @deprecated It is unknown when this was removed.
552
+ *
553
+ * @todo Add a schema for this.
554
+ * @todo Add a description for this.
555
+ */
556
+ readonly Villages: {
557
+ /**
558
+ * The format type of the data.
559
+ */
560
+ readonly type: "NBT";
561
+ };
508
562
  /**
509
563
  * @see {@link NBTSchemas.nbtSchemas.VillageDwellers}
510
564
  *
@@ -549,6 +603,17 @@ export declare const entryContentTypeToFormatMap: {
549
603
  */
550
604
  readonly type: "NBT";
551
605
  };
606
+ /**
607
+ * @see {@link NBTSchemas.nbtSchemas.VillageRaid}
608
+ *
609
+ * @todo Add a description for this.
610
+ */
611
+ readonly VillageRaid: {
612
+ /**
613
+ * The format type of the data.
614
+ */
615
+ readonly type: "NBT";
616
+ };
552
617
  /**
553
618
  * A player's data.
554
619
  *
@@ -597,7 +662,7 @@ export declare const entryContentTypeToFormatMap: {
597
662
  */
598
663
  readonly type: "custom";
599
664
  /**
600
- * The format type that results from the {@link entryContentTypeToFormatMap.Entity.parse | parse} method.
665
+ * The format type that results from the {@link entryContentTypeToFormatMap.Digest.parse | parse} method.
601
666
  */
602
667
  readonly resultType: "JSONNBT";
603
668
  /**
@@ -610,21 +675,7 @@ export declare const entryContentTypeToFormatMap: {
610
675
  *
611
676
  * @throws {any} If an error occurs while parsing the data.
612
677
  */
613
- readonly parse: (data: Buffer) => Promise<{
614
- type: "compound";
615
- value: {
616
- entityIds: {
617
- type: "list";
618
- value: {
619
- type: "list";
620
- value: {
621
- type: "int";
622
- value: [id1: number, id2: number];
623
- }[];
624
- };
625
- };
626
- };
627
- }>;
678
+ readonly parse: (data: Buffer) => Promise<NBTSchemas.NBTSchemaTypes.Digest>;
628
679
  /**
629
680
  * The function to serialize the data.
630
681
  *
@@ -632,22 +683,10 @@ export declare const entryContentTypeToFormatMap: {
632
683
  *
633
684
  * @param data The data to serialize.
634
685
  * @returns The serialized data, as a buffer.
686
+ *
687
+ * @throws {any} If an error occurs while parsing the data.
635
688
  */
636
- readonly serialize: (data: {
637
- type: "compound";
638
- value: {
639
- entityIds: {
640
- type: "list";
641
- value: {
642
- type: "list";
643
- value: {
644
- type: "int";
645
- value: [id1: number, id2: number];
646
- }[];
647
- };
648
- };
649
- };
650
- }) => Buffer<ArrayBuffer>;
689
+ readonly serialize: (data: NBTSchemas.NBTSchemaTypes.Digest) => Buffer<ArrayBuffer>;
651
690
  };
652
691
  /**
653
692
  * The data for a map.
@@ -721,6 +760,48 @@ export declare const entryContentTypeToFormatMap: {
721
760
  */
722
761
  readonly type: "ASCII";
723
762
  };
763
+ /**
764
+ * @deprecated It is unknown when this was removed, it was found in a Windows 10 Edition Beta v0.15.0 world.
765
+ *
766
+ * @todo Add a description for this.
767
+ */
768
+ readonly LevelSpawnWasFixed: {
769
+ /**
770
+ * The format type of the data.
771
+ */
772
+ readonly type: "UTF-8";
773
+ /**
774
+ * The default value to use when initializing a new entry.
775
+ *
776
+ * Value:
777
+ * ```typescript
778
+ * Buffer.from("True", "utf-8")
779
+ * ```
780
+ */
781
+ readonly defaultValue: Buffer<ArrayBuffer>;
782
+ };
783
+ /**
784
+ * Stores the location of a lodestone compass.
785
+ *
786
+ * @todo Add a schema for this.
787
+ */
788
+ readonly PositionTrackingDB: {
789
+ /**
790
+ * The format type of the data.
791
+ */
792
+ readonly type: "NBT";
793
+ };
794
+ /**
795
+ * The last ID used for a lodestone compass.
796
+ *
797
+ * @todo Add a schema for this.
798
+ */
799
+ readonly PositionTrackingLastId: {
800
+ /**
801
+ * The format type of the data.
802
+ */
803
+ readonly type: "NBT";
804
+ };
724
805
  /**
725
806
  * The scoreboard data (ex. from the [`/scoreboard`](https://minecraft.wiki/w/Commands/scoreboard) command).
726
807
  *
@@ -732,6 +813,18 @@ export declare const entryContentTypeToFormatMap: {
732
813
  */
733
814
  readonly type: "NBT";
734
815
  };
816
+ /**
817
+ * @deprecated It is unknown when this was removed, it was found in a Windows 10 Edition Beta v0.15.0 world.
818
+ *
819
+ * @todo Add a schema for this.
820
+ * @todo Add a description for this.
821
+ */
822
+ readonly LegacyDimension: {
823
+ /**
824
+ * The format type of the data.
825
+ */
826
+ readonly type: "NBT";
827
+ };
735
828
  /**
736
829
  * @todo Add a schema for this.
737
830
  * @todo Add a description for this.
@@ -766,6 +859,17 @@ export declare const entryContentTypeToFormatMap: {
766
859
  */
767
860
  readonly type: "NBT";
768
861
  };
862
+ /**
863
+ * The content type of the `BiomeIdsTable` LevelDB key, which stores the numeric ID mappings for custom biomes.
864
+ *
865
+ * @see {@link NBTSchemas.nbtSchemas.BiomeIdsTable}
866
+ */
867
+ readonly BiomeIdsTable: {
868
+ /**
869
+ * The format type of the data.
870
+ */
871
+ readonly type: "NBT";
872
+ };
769
873
  /**
770
874
  * The content type of the `mobevents` LevelDB key, which stores what mob events are enabled or disabled.
771
875
  *
@@ -827,8 +931,11 @@ export declare const entryContentTypeToFormatMap: {
827
931
  readonly rawFileExtension: "dat";
828
932
  };
829
933
  /**
934
+ * Bounding boxes for structures, including structure spawns (such as a Pillager Outpost)
935
+ * and volumes where mobs cannot spawn through the normal biome-based means (such as
936
+ * Trial Chambers).
937
+ *
830
938
  * @todo Figure out how to parse this.
831
- * @todo Add a description for this.
832
939
  */
833
940
  readonly AABBVolumes: {
834
941
  /**
@@ -857,145 +964,26 @@ export declare const entryContentTypeToFormatMap: {
857
964
  readonly defaultValue: Buffer<ArrayBufferLike>;
858
965
  };
859
966
  /**
860
- * @todo Figure out what the little bits of data before each of the NBT data chunks are, and what the 4 bytes at the very beginning are.
861
- * @todo Add a description for this.
967
+ * Stores the NBT metadata of all chunks. Maps the xxHash64 hash of NBT data
968
+ * to that NBT data, so that each chunk need only store 8 bytes instead of the entire
969
+ * NBT; most chunks have the same metadata.
862
970
  *
863
- * `Array.from(data).reduce((a, b, i, ar)=>[...a, ...(Array.from(Buffer.from("0a000008", "hex")).every((v, ib)=>v === ar[i + ib]) ? [i] : [])], [])`
971
+ * The first 4 bytes represent the number of entries as a 32-bit little-endian integer (it is unknown if it is signed or not).
864
972
  *
865
- * This seems to be 4 bytes, followed by multiple chunks of data formatted as 8 bytes plus an NBT compound.
866
- * ```
867
- * {BYTEx4}{BYTEx8}{NBTCompound}{BYTEx8}{NBTCompound}{BYTEx8}{NBTCompound}{BYTEx8}{NBTCompound}
868
- * ```
973
+ * The first 4 bytes are followed by multiple chunks of data formatted as the 8 byte hash of the NBT data plus the NBT compound.
869
974
  *
870
- * ```js
871
- * const data = (await tabManager.selectedTab.db.get("LevelChunkMetaDataDictionary"));
872
- * const extractedData = [];
873
- * for (let i = 12; i < data.length; i += 8) {
874
- * const parsedData = await require("prismarine-nbt").parse(data.slice(i), "little");
875
- * extractedData.push([data.slice(i - 8, i), parsedData]);
876
- * i += parsedData.metadata.size;
877
- * }
878
975
  * ```
879
- *
880
- * Example first 4 bytes:
881
- * ```json
882
- * {
883
- * "type": "Buffer",
884
- * "data": [
885
- * 109,
886
- * 0,
887
- * 0,
888
- * 0
889
- * ]
890
- * }
891
- * ```
892
- *
893
- * Example parsed NBT data chunk:
894
- * ```json
895
- * [
896
- * {
897
- * "type": "Buffer",
898
- * "data": [
899
- * 190,
900
- * 156,
901
- * 149,
902
- * 210,
903
- * 211,
904
- * 150,
905
- * 247,
906
- * 2
907
- * ]
908
- * },
909
- * {
910
- * "metadata": {
911
- * "size": 392,
912
- * "buffer": {} // ...
913
- * },
914
- * "parsed": {
915
- * "type": "compound",
916
- * "name": "",
917
- * "value": {
918
- * "BiomeBaseGameVersion": {
919
- * "type": "string",
920
- * "value": "1.18.0"
921
- * },
922
- * "DimensionName": {
923
- * "type": "string",
924
- * "value": "Overworld"
925
- * },
926
- * "GenerationSeed": {
927
- * "type": "long",
928
- * "value": [
929
- * -555685613,
930
- * 920043062
931
- * ]
932
- * },
933
- * "GeneratorType": {
934
- * "type": "int",
935
- * "value": 1
936
- * },
937
- * "LastSavedBaseGameVersion": {
938
- * "type": "string",
939
- * "value": "1.21.122"
940
- * },
941
- * "LastSavedDimensionHeightRange": {
942
- * "type": "compound",
943
- * "value": {
944
- * "max": {
945
- * "type": "short",
946
- * "value": 320
947
- * },
948
- * "min": {
949
- * "type": "short",
950
- * "value": -64
951
- * }
952
- * }
953
- * },
954
- * "OriginalBaseGameVersion": {
955
- * "type": "string",
956
- * "value": "1.21.71"
957
- * },
958
- * "OriginalDimensionHeightRange": {
959
- * "type": "compound",
960
- * "value": {
961
- * "max": {
962
- * "type": "short",
963
- * "value": 320
964
- * },
965
- * "min": {
966
- * "type": "short",
967
- * "value": -64
968
- * }
969
- * }
970
- * },
971
- * "Overworld1_18HeightExtended": {
972
- * "type": "short",
973
- * "value": 1
974
- * },
975
- * "SkullFlatteningPerformed": {
976
- * "type": "short",
977
- * "value": 1
978
- * },
979
- * "UnderwaterLavaLakeFixed": {
980
- * "type": "short",
981
- * "value": 1
982
- * },
983
- * "WorldGenBelowZeroFixed": {
984
- * "type": "short",
985
- * "value": 1
986
- * }
987
- * }
988
- * },
989
- * "type": "little"
990
- * }
991
- * ]
976
+ * {BYTEx4}{BYTEx8}{NBTCompound}{BYTEx8}{NBTCompound}{BYTEx8}{NBTCompound}{BYTEx8}{NBTCompound}
992
977
  * ```
993
978
  */
994
979
  readonly LevelChunkMetaDataDictionary: {
995
980
  /**
996
981
  * The format type of the data.
997
982
  */
998
- readonly type: "unknown";
983
+ readonly type: "custom";
984
+ readonly resultType: "JSONNBT";
985
+ readonly parse: (data: Buffer) => Promise<NBTSchemas.NBTSchemaTypes.LevelChunkMetaDataDictionary>;
986
+ readonly serialize: (data: NBTSchemas.NBTSchemaTypes.LevelChunkMetaDataDictionary) => Buffer<ArrayBuffer>;
999
987
  };
1000
988
  /**
1001
989
  * @todo Figure out how to parse this. (It seems that each one just has a value of 1 (`0x31`). It also seems that the data is actually based on the key, which has an id that can be used with the realms API to get the corresponding data.)
@@ -1372,7 +1360,7 @@ export type DBEntryContentType = (typeof DBEntryContentTypes)[number];
1372
1360
  /**
1373
1361
  * A content type of a LevelDB chunk key entry.
1374
1362
  */
1375
- export type DBChunkKeyEntryContentType = "Data3D" | "Version" | "Data2D" | "Data2DLegacy" | "SubChunkPrefix" | "LegacyTerrain" | "BlockEntity" | "Entity" | "PendingTicks" | "LegacyBlockExtraData" | "BiomeState" | "FinalizedState" | "ConversionData" | "BorderBlocks" | "HardcodedSpawners" | "RandomTicks" | "Checksums" | "MetaDataHash" | "GeneratedPreCavesAndCliffsBlending" | "BlendingBiomeHeight" | "BlendingData" | "ActorDigestVersion" | "LegacyVersion" | "AABBVolumes";
1363
+ export type DBChunkKeyEntryContentType = "Data3D" | "Version" | "Data2D" | "Data2DLegacy" | "SubChunkPrefix" | "LegacyTerrain" | "BlockEntity" | "Entity" | "PendingTicks" | "LegacyBlockExtraData" | "BiomeState" | "FinalizedState" | "ConversionData" | "BorderBlocks" | "HardcodedSpawners" | "RandomTicks" | "Checksums" | "GenerationSeed" | "GeneratedPreCavesAndCliffsBlending" | "BlendingBiomeHeight" | "MetaDataHash" | "BlendingData" | "ActorDigestVersion" | "LegacyVersion" | "AABBVolumes";
1376
1364
  /**
1377
1365
  * Parses an integer from a buffer gives the number of bytes, endianness, signedness and offset.
1378
1366
  *
@@ -1514,6 +1502,8 @@ export declare function getContentTypeFromDBKey(key: Buffer): DBEntryContentType
1514
1502
  /**
1515
1503
  * Gets the biome type from its ID.
1516
1504
  *
1505
+ * Only works with vanilla biomes.
1506
+ *
1517
1507
  * @param id The ID of the biome.
1518
1508
  * @returns The biome type.
1519
1509
  */
@@ -1521,6 +1511,8 @@ export declare function getBiomeTypeFromID(id: number): keyof (typeof BiomeData)
1521
1511
  /**
1522
1512
  * Gets the biome ID from its type.
1523
1513
  *
1514
+ * Only works with vanilla biomes.
1515
+ *
1524
1516
  * @param type The type of the biome.
1525
1517
  * @returns The biome ID.
1526
1518
  */