UNPKG

minecraft-bedrock-json-types

Version:

Typescript types for Minecraft Bedrock's add-on json configuration files.

72 lines (71 loc) 2.06 kB
/** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * A version that tells minecraft what type of data format can be expected when reading this file. */ type FormatVersion = string; /** * Sets the identifier for this rule's description. */ type Identifier = string; /** * List of all components used to identify geometry parts used in culling. * * @minItems 1 */ type Rules = [Rule, ...(Rule)[]]; /** * The bone within the geometry part */ type Bone = string; /** * The cube within the geometry part */ type Cube = number; /** * The face within the geometry part */ type Face = ("up" | "down" | "north" | "south" | "east" | "west"); /** * Specifies the direction of the neighbor block to check for culling. This direction rotates with a block's Transform component. */ type Direction = ("up" | "down" | "north" | "south" | "east" | "west"); /** * A resource pack file that helps the system determine how to change the appearance of this block. */ export interface BlockCulling { format_version?: FormatVersion; "minecraft:block_culling_rules"?: BlockCullingRules; } /** * JSON container used for descriptions, especially the identifier for the name of the culled version of the block. */ interface BlockCullingRules { description?: Description; rules?: Rules; } /** * Contains the identifier used by minecraft:geometry block components to refer to this culling data */ interface Description { identifier?: Identifier; } /** * The rules that specifies a "geometry_part" and "direction" */ interface Rule { geometry_part?: GeometryPart; direction?: Direction; } /** * Specifies the bone, cube, and face that the block will be culled. The cube and face fields are optional to allow culling a specific face. Omitting these fields will cull the whole bone. */ interface GeometryPart { bone?: Bone; cube?: Cube; face?: Face; } export {};