From f757b992b0cd7aee6bc30d7038aac98b60d240bc Mon Sep 17 00:00:00 2001 From: Xavier Stouder Date: Fri, 8 Jan 2016 17:49:03 +0100 Subject: [PATCH] Prismarine Recipe --- prismarine-recipe/prismarine-recipe-tests.ts | 3 ++ .../typings/prismarine-recipe.d.ts | 32 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 prismarine-recipe/prismarine-recipe-tests.ts create mode 100644 prismarine-recipe/typings/prismarine-recipe.d.ts diff --git a/prismarine-recipe/prismarine-recipe-tests.ts b/prismarine-recipe/prismarine-recipe-tests.ts new file mode 100644 index 000000000..d4da5ae39 --- /dev/null +++ b/prismarine-recipe/prismarine-recipe-tests.ts @@ -0,0 +1,3 @@ +import * as prismarineRecipe from "prismarine-recipe"; +let Recipe = prismarineRecipe("1.8").Recipe; +console.log(JSON.stringify(Recipe.find(5)[0], null, 2)); \ No newline at end of file diff --git a/prismarine-recipe/typings/prismarine-recipe.d.ts b/prismarine-recipe/typings/prismarine-recipe.d.ts new file mode 100644 index 000000000..2b414ddfe --- /dev/null +++ b/prismarine-recipe/typings/prismarine-recipe.d.ts @@ -0,0 +1,32 @@ +declare module "prismarine-recipe"{ + function prismarineRecipe(version: string): prismarineRecipe.MCRecipeVersion; + + module prismarineRecipe{ + interface Recipe{ + result: RecipeItem; + inShape: RecipeItem[][]; + outShape: RecipeItem[][]; + ingredients: RecipeItem[]; + requiresTable: boolean; + delta: RecipeItem; + } + interface RecipeStatic{ + find(itemType: number, metadata?: number): Recipe[]; + } + interface MCRecipeVersion{ + Recipe: RecipeStatic; + RecipeItem: RecipeItemStatic; + } + interface RecipeItem{ + id: number; + metadata: number; + count?: number; + } + interface RecipeItemStatic{ + fromEnum(itemFromRecipeEnum: number[] | number | RecipeItem): RecipeItem; + clone(recipeItem: RecipeItem): RecipeItem; + } + } + + export = prismarineRecipe; +}