minecraft-bedrock-json-types
Version:
Typescript types for Minecraft Bedrock's add-on json configuration files.
242 lines (241 loc) • 5.3 kB
TypeScript
/**
* 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 {};