UNPKG

mc-anvil

Version:

A Typescript library for reading Minecraft Anvil format files and Minecraft NBT format files in the browser.

46 lines (45 loc) 2.18 kB
import { BlockDataParser, BlockStates, ChunkRootTag, ChunkSectionTag, Palette } from ".."; import { TagData } from "../.."; import { Coordinate3D } from "../types"; export declare function mod(n: number, m: number): number; export declare function chunkCoordinateFromIndex(index: number): Coordinate3D; export declare function indexFromChunkCoordinate(coordinate: Coordinate3D): number; export declare function biomeCoordinateFromIndex(index: number): Coordinate3D; export declare function indexFromBiomeCoordinate(coordinate: Coordinate3D): number; export declare function sectionBlockStates(section: TagData[]): BlockStates | undefined; export declare function sectionPalette(section: TagData[]): Palette | undefined; export declare function blockParserFromSection(section: TagData[]): BlockDataParser | undefined; export declare class Chunk { static readonly AIR = -968583441; static readonly BLOCKS_PER_CHUNK = 4096; private blockStates; private palettes; private blockStatesDirty; root: TagData; static isValidChunkSectionTag(tag?: TagData): tag is ChunkSectionTag; static isValidChunkRootTag(tag?: TagData): tag is ChunkRootTag; static emptyX(y?: number, z?: number): number[][]; constructor(root: TagData); containsCoordinate(c: Coordinate3D): boolean; coordinateKey(): string | undefined; getChunkCoordinates(): [number, number] | undefined; getCoordinates(): [number, number] | undefined; sections(): ChunkSectionTag | undefined; sortedSections(): TagData[][] | undefined; findBlocksByName(name: string): Coordinate3D[]; getBlock(coordinates: Coordinate3D): { name: string; properties: { [key: string]: string; }; }; getSectionContainingCoordinate(coordinates: Coordinate3D): TagData[] | undefined; setBlock(coordinates: Coordinate3D, name: string, properties: { [key: string]: string; }): void; uniqueBlockNames(): Set<string>; worldHeights(name?: string): number[][] | undefined; sectionBlockStateTensor(yIndex: number): [number[][][], Palette | undefined]; blockStateTensor(): number[][][]; chunkData(): TagData; }