UNPKG

minecraft-bedrock-json-types

Version:

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

242 lines (241 loc) 5.3 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; /** * UNDOCUMENTED. */ type RecipeIdentifier = string; type Tag = string; /** * Recipe tags 1.12.0 */ type Tags = Tag[]; /** * Items used as input for the furnace recipe. */ type Input = string; /** * Items used as output for the furnace recipe. */ type Output = string; /** * Unlock achievement */ type Unlock = ({ context: Context; [k: string]: unknown; } | DItem[]); /** * The context of the achievement to unlock */ type Context = string; type DItem = ({ item: Item; data?: Data; [k: string]: unknown; } | { tag: ItemTag; [k: string]: unknown; }); /** * The item to unlock */ type Item = string; /** * The data of the item to unlock */ type Data = number; /** * The item to unlock */ type ItemTag = string; /** * Input potion used on the brewing stand. */ type Input1 = string; /** * Output potion from mixing the input potion with the reagent on the brewing stand. */ type Output1 = string; /** * Item used to mix with the input potion. */ type Reagent = string; /** * Input potion used on the brewing stand. */ type Input2 = string; /** * Output potion from mixing the input potion with the reagent on the brewing stand. */ type Output2 = string; /** * Item used to mix with the input potion. */ type Reagent1 = string; /** * Recipe item 1.12.0 */ type Item1 = (ItemIdentifier | { item: ItemIdentifier1; data?: ItemDataValue; count?: Count; } | { tag: ItemTag1; [k: string]: unknown; }); type ItemIdentifier = string; type ItemIdentifier1 = string; type ItemDataValue = number; type Count = number; /** * The item to unlock */ type ItemTag1 = string; /** * UNDOCUMENTED. */ type Group = string; /** * Characters that represent a pattern to be defined by keys. * * @minItems 1 * @maxItems 3 */ type Pattern = [Pattern1] | [Pattern1, Pattern1] | [Pattern1, Pattern1, Pattern1]; type Pattern1 = string; /** * Item used as output for the furnace recipe. */ type Priority = number; /** * When input items match the pattern then these items are the result. */ type Result = (Item1 | Item1[]); /** * Items used as input (without a shape) for the recipe. */ type Ingredients = (Item1 | Item1[]); /** * UNDOCUMENTED. */ type Group1 = string; /** * Item used as output for the furnace recipe. */ type Priority1 = number; /** * When input items match the pattern then these items are the result. */ type Result1 = (Item1 | Item1[]); /** * Item used as base for the smithing recipe. */ type Base = (Item1 | Item1[]); /** * Item used as addition for the smithing recipe. */ type Addition = (Item1 | Item1[]); /** * When input items match the pattern then these items are the result. */ type Result2 = (Item1 | Item1[]); /** * Minecraft recipe */ export interface Recipe { format_version: FormatVersion; "minecraft:recipe_furnace"?: FurnaceRecipe; "minecraft:recipe_brewing_container"?: BrewingRecipe1120; "minecraft:recipe_brewing_mix"?: BrewingRecipe11201; "minecraft:recipe_shaped"?: ShapedRecipe1120; "minecraft:recipe_shapeless"?: ShapelessRecipe1120; "minecraft:recipe_smithing_transform"?: SmithingTransformRecipe1120; } /** * Represents a furnace recipe for a furnace.'Input` items will burn and transform into items specified in `output`.. */ interface FurnaceRecipe { description: Definition; tags?: Tags; input?: Input; output?: Output; unlock?: Unlock; } /** * Recipe definition 1.12.0 */ interface Definition { identifier?: RecipeIdentifier; } /** * Represents a Potion Brewing Container Recipe.. */ interface BrewingRecipe1120 { description: Definition; tags?: Tags; unlock?: Unlock; input?: Input1; output?: Output1; reagent?: Reagent; } /** * Represents a Potion Brewing Container Recipe.. */ interface BrewingRecipe11201 { description: Definition; tags?: Tags; unlock?: Unlock; input?: Input2; output?: Output2; reagent?: Reagent1; } /** * Represents a shaped crafting recipe for a crafting table. The key used in the pattern may be any single character except the `space` character, which is reserved for empty slots in a recipe.. */ interface ShapedRecipe1120 { description: Definition; tags?: Tags; unlock?: Unlock; key?: Key; group?: Group; pattern?: Pattern; priority?: Priority; result?: Result; } /** * Patten key character mapped to item names. */ interface Key { [k: string]: Item1; } /** * Represents a shapeless crafting recipe.. */ interface ShapelessRecipe1120 { description: Definition; tags?: Tags; unlock?: Unlock; ingredients?: Ingredients; group?: Group1; priority?: Priority1; result?: Result1; } /** * Represents a smithing table crafting recipe.. */ interface SmithingTransformRecipe1120 { description: Definition; tags?: Tags; unlock?: Unlock; base?: Base; addition?: Addition; result?: Result2; } export {};