import { Structure } from '../core/index.js'; import type { NbtCompound } from '../nbt/index.js'; /** * Loads Minecraft Litematica schematic files (.litematic) * * Litematic format specification: * - Root contains: MinecraftDataVersion, Version, Metadata, Regions, SubVersion * - Each region has: Size, Position, BlockStatePalette, BlockStates (packed long array) * - BlockStates is packed with variable bit width based on palette size */ export declare class LitematicLoader { /** * Loads a litematic file from a buffer * @param buffer The litematic file data (gzip compressed NBT) * @param regionName Optional region name to load (default: first region) * @returns Structure containing the loaded blocks */ static load(buffer: Uint8Array, regionName?: string): Structure; /** * Loads a litematic from parsed NBT data * @param root The root NBT compound * @param regionName Optional region name to load (default: first region) * @returns Structure containing the loaded blocks */ static fromNbt(root: NbtCompound, regionName?: string): Structure; private static loadRegion; /** * Unpacks a long array containing packed indices * Based on the litematic-viewer reference implementation * @param longs Array of longs (as [high, low] pairs from NBT) * @param nbits Number of bits per entry * @param width Region width * @param height Region height * @param depth Region depth * @returns Flat block palette indices in YZX order */ private static unpackBlockData; /** * Gets metadata from a litematic file */ static getMetadata(buffer: Uint8Array): { name: string; author: string; description: string; totalBlocks: number; totalVolume: number; regionCount: number; size: { x: number; y: number; z: number; }; }; } //# sourceMappingURL=LitematicLoader.d.ts.map