UNPKG

bc-minecraft-bedrock-project

Version:

The typescript library responsible for reading/parsing minecraft bedrock data

77 lines (76 loc) 2.02 kB
import { FormatVersion } from "../types/format-version"; /** * Represents the interface for Block Culling. * * Block culling is a technique used in computer graphics to optimize rendering performance by not rendering faces of blocks that are not visible to the player. * This interface defines the contract for implementing block culling logic in a resource pack for a Minecraft Bedrock Edition project. */ export interface BlockCulling extends Readonly<FormatVersion> { /** * The block culling rules for the resource pack. */ "minecraft:block_culling_rules": BlockCullingSpec; } /** * Namespace for Block Culling functionality. */ export declare namespace BlockCulling { /** * Type guard function to check if a value is of type BlockCulling. * @param value - The value to check. * @returns True if the value is of type BlockCulling, false otherwise. */ function is(value: any): value is BlockCulling; } /** * Represents the block culling specification. */ export interface BlockCullingSpec { /** * The description of the block culling specification. */ description: BlockCullingDescription; /** * The rules for block culling. */ rules: BlockCullingRule[]; } /** * Represents a block culling rule. */ export interface BlockCullingDescription { /** * The identifier of the block culling specification. */ identifier: string; } /** * Represents a block culling rule. */ export interface BlockCullingRule { /** * The direction of the block culling rule. */ direction: string; /** * The geometry part of the block culling rule. */ geometry_part: GeometryPart; } /** * Represents a geometry part of a block culling rule. */ export interface GeometryPart { /** * The bone of the geometry part. */ bone?: string; /** * The cube of the geometry part. */ cube?: number; /** * The face of the geometry part. */ face?: string; }