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
TypeScript
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;
}