1#![deny(missing_docs)]
23#![allow(
24 clippy::cast_possible_truncation,
25 clippy::cast_possible_wrap,
26 clippy::cast_precision_loss,
27 clippy::cast_sign_loss,
28 clippy::items_after_test_module,
29 clippy::missing_errors_doc,
30 clippy::must_use_candidate,
31 clippy::needless_pass_by_value,
32 clippy::struct_excessive_bools,
33 clippy::type_complexity,
34 clippy::wildcard_imports
35)]
36
37pub mod chunk;
39pub mod discover;
41pub mod error;
43pub mod level_dat;
45pub mod nbt;
47pub mod parsed;
49pub mod player;
51pub mod query;
53pub mod storage;
55pub mod world;
57
58pub use chunk::{
59 ActorDigestKey, ActorUid, BedrockDbKey, BlockPalette, BlockPos, BlockState, Chunk, ChunkKey,
60 ChunkPos, ChunkRecord, ChunkRecordTag, ChunkVersion, Dimension, EntityData, GlobalRecordKind,
61 LEGACY_SUBCHUNK_BLOCK_COUNT, LEGACY_SUBCHUNK_MIN_VALUE_LEN,
62 LEGACY_SUBCHUNK_WITH_LIGHT_VALUE_LEN, LEGACY_TERRAIN_BLOCK_COUNT, LEGACY_TERRAIN_VALUE_LEN,
63 LegacyBiomeSample, LegacySubChunk, LegacyTerrain, MapRecordId, ParsedVillageKey, SubChunk,
64 SubChunkDecodeMode, SubChunkFormat, VillageRecordKind, block_storage_index,
65};
66pub use discover::{WorldDiscovery, WorldSummary, discover_worlds};
67pub use error::{BedrockWorldError, BedrockWorldErrorKind, Result};
68pub use level_dat::{
69 LevelDatDocument, LevelDatHeader, LevelDatReadWarning, parse_level_dat_document,
70 read_level_dat, read_level_dat_document, write_level_dat_atomic, write_level_dat_document,
71};
72#[cfg(feature = "async")]
73pub use level_dat::{read_level_dat_async, write_level_dat_atomic_async};
74pub use nbt::{NbtEvent, NbtReader, NbtRef, NbtTag, NbtValue, NbtView, NbtWriter};
75pub use parsed::{
76 ActorRecord, ActorResolution, ActorSource, Biome2d, Biome3d, BlockEntityRecord,
77 HardcodedSpawnAreaKind, HeightMap2d, ItemStack, MapKnownFields, MapPixels, ParsedActorDigest,
78 ParsedBiomeData, ParsedBiomeStorage, ParsedBlockEntity, ParsedChunkData, ParsedChunkRecord,
79 ParsedChunkRecordValue, ParsedDbEntry, ParsedDbValue, ParsedEntity, ParsedGlobalData,
80 ParsedHardcodedSpawnArea, ParsedMapData, ParsedPlayer, ParsedVillageData, ParsedWorld,
81 RetentionMode, WorldParseCategories, WorldParseOptions, WorldParseReport,
82};
83pub use player::{PlayerData, PlayerId};
84pub use query::{
85 BlockEntityOverlay, BlockTip, ChunkDetail, ChunkRecordDetail, EntityOverlay,
86 HardcodedSpawnAreaOverlay, RegionOverlayQuery, RegionOverlayQueryOptions, SelectionStats,
87 SlimeChunkBounds, SlimeChunkWindow, SlimeWindowSize, VillageOverlay, VillageOverlayIndex,
88 WriteGuard, delete_chunks_blocking, is_bedrock_slime_chunk, is_slime_chunk,
89 query_block_tip_blocking, query_chunk_detail_blocking, query_region_overlays_blocking,
90 query_region_overlays_blocking_with_control, query_selection_stats_blocking,
91 query_slime_chunk_windows, write_chunk_record_nbt_blocking,
92};
93pub use storage::{
94 MemoryStorage, POCKET_CHUNKS_DAT_TERRAIN_VALUE_LEN, PocketChunksDatStorage, StorageBatch,
95 StorageCancelFlag, StorageEntry, StorageEntryRef, StorageOp, StoragePipelineOptions,
96 StorageProgressSink, StorageReadOptions, StorageScanMode, StorageScanOutcome,
97 StorageScanProgress, StorageThreadingOptions, StorageVisitorControl, WorldStorage,
98 backend::BedrockLevelDbStorage,
99};
100pub use world::{
101 BedrockWorld, CancelFlag, ChunkBounds, ExactSurfaceBiomeLoad, ExactSurfaceSubchunkPolicy,
102 OpenOptions, ProgressSink, RenderBlockEntity, RenderChunkData, RenderChunkLoadOptions,
103 RenderChunkPriority, RenderChunkRegion, RenderChunkRequest, RenderLoadStats, RenderRegionData,
104 RenderRegionLoadOptions, SurfaceColumn, SurfaceColumnOptions, TerrainColumnBiome,
105 TerrainColumnOverlay, TerrainColumnSample, TerrainColumnSamples, TerrainColumnWater,
106 TerrainSampleSource, TerrainSurfaceRole, WorldFormat, WorldFormatHint, WorldPipelineOptions,
107 WorldScanOptions, WorldScanProgress, WorldStorageHandle, WorldThreadingOptions,
108 WorldTransaction, terrain_surface_overlay_alpha, terrain_surface_role,
109};