CraftingTableManager #工作台合成表管理
这个类由mod-id为crafttweaker
的模组添加. 因此,如果要使用此功能,则需要安装此mod。
导入相关包
如果遇到任何问题(例如强制转换数组),则可能需要导入软件包,因此,最好的方式就是导入包支持。
crafttweaker.api.CraftingTableManager
已实现的接口
CraftingTableManager实现了以下接口。 这意味着对这个接口可用的任何方法也可以在此类上使用。
方法
addJSONRecipe #添加JSON配方
基于提供的IData添加配方 提供的 IData 应该代表一个JSON数据包 ,这有效地允许您注册任何支持 IRecipeType 系统的 DataPack配方。
craftingTable.addJSONRecipe(name as String, data as crafttweaker.api.data.IData);
craftingTable.addJSONRecipe("recipe_name", {ingredient:{item:<item:minecraft:gold_ore>.registryName},result:<item:minecraft:cooked_porkchop>.registryName,experience:0.35 as float, cookingtime:100});
addShaped
Adds a shaped recipe to the crafting table
craftingTable.addShaped(recipeName as String, output as crafttweaker.api.item.IItemStack, ingredients as crafttweaker.api.item.IIngredient[][], recipeFunction as com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix);
craftingTable.addShaped("recipe_name", <item:minecraft:dirt>, [[<item:minecraft:diamond>], [<tag:minecraft:wool>]]);
craftingTable.addShaped("recipe_name", <item:minecraft:dirt>, [[<item:minecraft:diamond>], [<tag:minecraft:wool>]], (usualOut as IItemStack, inputs as IItemStack[][]) => {if(inputs[0][0].displayName == "totally real diamond block" ){return usualOut;}return <item:minecraft:clay>.setDisplayName("Diamond");});
参数 | 类型 | 描述 | 可选的 | Default Value |
---|
recipeName | String | name of the recipe to add. | false | null |
output(输出) | crafttweaker.api.item.IItemStack | output IItemStack | false | null |
ingredients | crafttweaker.api.item.IIngredient[][] | array of an array of IIngredient for inputs | false | null |
recipeFunction | com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix | optional com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix for more advanced conditions | true | null |
addShapedMirrored
Adds a mirrored shaped recipe to the crafting table
craftingTable.addShapedMirrored(recipeName as String, output as crafttweaker.api.item.IItemStack, ingredients as crafttweaker.api.item.IIngredient[][], recipeFunction as com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix);
craftingTable.addShapedMirrored("recipe_name", <item:minecraft:dirt>, [[<item:minecraft:diamond>], [<tag:minecraft:wool>]]);
craftingTable.addShapedMirrored("recipe_name", <item:minecraft:dirt>, [[<item:minecraft:diamond>], [<tag:minecraft:wool>]], (usualOut as IItemStack, inputs as IItemStack[][]) => {if(inputs[0][0].displayName == "totally real diamond block" ){return usualOut;}return <item:minecraft:clay>.setDisplayName("Diamond");});
参数 | 类型 | 描述 | 可选的 | Default Value |
---|
recipeName | String | name of the recipe to add. | false | null |
output(输出) | crafttweaker.api.item.IItemStack | output IItemStack | false | null |
ingredients | crafttweaker.api.item.IIngredient[][] | array of an array of IIngredient for inputs | false | null |
recipeFunction | com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix | optional com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix for more advanced conditions | true | null |
addShapeless
Adds a shapeless recipe to the crafting table
craftingTable.addShapeless(recipeName as String, output as crafttweaker.api.item.IItemStack, ingredients as crafttweaker.api.item.IIngredient[], recipeFunction as com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionArray);
craftingTable.addShapeless("recipe_name", <item:minecraft:dirt>, [<item:minecraft:diamond>, <tag:minecraft:wool>]);
craftingTable.addShapeless("recipe_name", <item:minecraft:dirt>, [<item:minecraft:diamond>, <tag:minecraft:wool>], (usualOut as IItemStack, inputs as IItemStack[]) => {if(inputs[0].displayName == "totally real diamond block" ){return usualOut;}return <item:minecraft:clay>.setDisplayName("Diamond");});
参数 | 类型 | 描述 | 可选的 | Default Value |
---|
recipeName | String | name of the recipe to add. | false | null |
output(输出) | crafttweaker.api.item.IItemStack | output IItemStack | false | null |
ingredients | crafttweaker.api.item.IIngredient[] | array of IIngredient for inputs | false | null |
recipeFunction | com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionArray | optional com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionArray for more advanced conditions | true | null |
removeAll
Remove all recipes in this registry
craftingTable.removeAll();
removeByModid
Remove recipe based on Registry name modid
craftingTable.removeByModid(modid as String);
craftingTable.removeByModid("minecraft");
参数 | 类型 | 描述 |
---|
modid | String | modid of the recipes to remove |
removeByName
Remove recipe based on Registry name
craftingTable.removeByName(name as String);
craftingTable.removeByName("minecraft:furnace");
参数 | 类型 | 描述 |
---|
name | String | registry name of recipe to remove |
removeByRegex
Remove recipe based on regex
craftingTable.removeByRegex(regex as String);
craftingTable.removeByRegex("\\d_\\d");
参数 | 类型 | 描述 |
---|
regex | String | regex to match against |
删除合成表
Remove a recipe based on it's output.
craftingTable.removeRecipe(output as crafttweaker.api.item.IItemStack);
craftingTable.removeRecipe(<item:minecraft:glass>);