UNPKG

bedrock-development

Version:

APIs for creating and editing files related to Minecraft Bedrock development.

111 lines (110 loc) 3.6 kB
import { NameData } from "../../utils.js"; import { GeometryName } from "../client"; import { MinecraftDataType } from "../minecraft.js"; import { FormatVersion, Identifier, MolangTripleArray } from "../shared_types.js"; export interface IServerBlock { format_version: FormatVersion; ["minecraft:block"]: { description: IServerBlockDescription; components: IServerBlockComponents; permutations?: { condition: string; components: IServerBlockComponents; }[]; }; } export interface IServerBlockDescription { identifier: Identifier; register_to_creative_menu?: boolean; is_experimental?: boolean; menu_category?: { category: string; group?: string; is_hidden_in_commands?: boolean; }; states?: { [key: string]: any; }; traits?: { [key: string]: any; }; } export interface IServerBlockComponents { ["minecraft:collision_box"]?: boolean | { origin: MolangTripleArray; size: MolangTripleArray; }; ["minecraft:crafting_table"]?: { table_name: string; crafting_tags: string[]; }; ["minecraft:destructible_by_explosion"]?: boolean | { explosion_resistance: number; }; ["minecraft:destructible_by_mining"]?: boolean | { seconds_to_destroy: number; }; ["minecraft:flammable"]?: boolean | { catch_chance_multiplier: number; destroy_chance_multiplier: number; }; ["minecraft:display_name"]?: string; ["minecraft:friction"]?: number; ["minecraft:geometry"]?: GeometryName | { identifier: GeometryName; bone_visibility?: { [key: string]: boolean | string; }; }; ["minecraft:light_dampening"]?: number; ["minecraft:light_emission"]?: number; ["minecraft:loot"]?: string; ["minecraft:map_color"]?: string | MolangTripleArray; ["minecraft:material_instances"]?: { ['*']: IServerBlockMaterialInstance; [key: string]: IServerBlockMaterialInstance; }; ["minecraft:placement_filter"]?: { conditions: { allowed_faces?: 'up' | 'down' | 'north' | 'east' | 'south' | 'west' | 'side'[]; block_filter?: Identifier | { tags: string; }[]; }[]; }; ["minecraft:selection_box"]?: boolean | { origin: MolangTripleArray; size: MolangTripleArray; }; ["minecraft:transformation"]?: { translation?: MolangTripleArray; rotation?: MolangTripleArray; scale?: MolangTripleArray; }; [key: string]: any; } export interface IServerBlockMaterialInstance { texture: string; render_method?: 'opaque' | 'double_sided' | 'alpha_test' | 'blend'; face_dimming?: boolean; ambient_occlusion?: boolean; } export declare class ServerBlock extends MinecraftDataType implements IServerBlock { format_version: FormatVersion; ["minecraft:block"]: { description: IServerBlockDescription; components: IServerBlockComponents; permutations?: { condition: string; components: IServerBlockComponents; }[]; }; static get DirectoryPath(): string; constructor(filepath: string, template: IServerBlock); static createFromTemplate(nameData: NameData): ServerBlock; setDisplayData(name: NameData): void; setExplosionResistance(resistance: number | boolean): void; setFriction(friction?: number): void; setLightEmission(emission: number): void; setLootTable(table?: string): void; }