Skip to content

合成表API

使用Recipes类需要导入Recipes模块 导入示例: [JavaScript]

const { Recipes } = require('./GMLIB-LegacyRemoteCallApi/lib/GMLIB_API-JS');

注意: 若无特殊说明,注册合成表的API需要在 onServerStarted 之后调用。

注册无序合成表

Recipes.registerShapelessRecipe( recipe_id: string, ingredients: array<string>, result: string, count: int, unlock: string )

参数:

  • recipe_id: 合成表的唯一标识符。
  • ingredients: 合成原料,所需合成原料的物品id。
  • result: 合成结果。
  • count: 合成结果的数量。
  • unlock: 解锁条件(可填"AlwaysUnlocked", "PlayerHasManyItems", "PlayerInWater", "None"或者解锁需要的物品ID)

返回值:Boolean (合成表是否注册成功)

[JavaScript]

Recipes.registerShapelessRecipe("groupmountain:quartz_recipe", ["minecraft:quartz_block"], "minecraft:quartz", 9, "AlwaysUnlocked");

注册有序合成表

Recipes.registerShapedRecipe( recipe_id: string, shape: array<string>, ingredients: array<string>, result: string, count: int, unlock: string )

参数:

  • recipe_id: 合成表的唯一标识符。
  • shape: 合成表摆放方式,数组元素为字符串。
  • ingredients: 材料数组,形如 ["ABA", "BBB", "ABA"]
  • result: 合成结果。
  • count: 合成结果的数量。
  • unlock: 解锁条件,例如 "AlwaysUnlocked"。

返回值:Boolean (合成表是否注册成功)

[JavaScript]

Recipes.registerShapedRecipe("groupmountain:reinforced_deepslate_recipe", ["ABA", "BBB", "ABA"], ["minecraft:echo_shard", "minecraft:deepslate"], "minecraft:reinforced_deepslate", 1, "AlwaysUnlocked");

注册熔炉合成表

Recipes.registerFurnaceRecipe( recipe_id: string, input: string, output: string, tags: array<string> )

参数:

  • recipe_id : 合成表的唯一标识符。
  • input : 输入材料。
  • output : 合成结果。
  • tags (array): 材料的标签数组。(支持"furnace", "blast_furnace", "smoker", "campfire", "soul_campfire")

返回值:Boolean (合成表是否注册成功)

[JavaScript]

Recipes.registerFurnaceRecipe("recipe_id", "input", "output", ["tag1", "tag2"])

注册酿造混合表

Recipes.registerBrewingMixRecipe( recipe_id: string, input: string, output: string, reagent: string )

参数:

  • recipe_id : 合成表的唯一标识符。
  • input : 输入物品(必须是原版药水物品id)。
  • output : 合成结果(必须是原版药水物品id)。
  • reagent : 酿造物品。

返回值:Boolean (合成表是否注册成功)

[JavaScript]

Recipes.registerBrewingMixRecipe("recipe_id", "input", "output", "reagent")

注册酿造容器表

Recipes.registerBrewingContainerRecipe( recipe_id: string, input: string(可以是任意物品), output: string(可以是任意物品), reagent: string )

参数:

  • recipe_id : 合成表的唯一标识符。
  • input : 输入物品。
  • output : 合成结果。
  • reagent : 酿造物品。

返回值:Boolean (合成表是否注册成功)

[JavaScript]

Recipes.registerBrewingContainerRecipe("recipe_id", "input", "output", "reagent")

注册锻造配方合成表

Recipes.registerSmithingTransformRecipe( recipe_id: string, smithing_template: string, base: string, addition: string, result: string )

参数:

  • recipe_id : 合成表的唯一标识符。
  • smithing_template : 锻造模板。
  • base : 基础物品。
  • addition : 升级材料。
  • result : 合成结果。

返回值:Boolean (合成表是否注册成功)

[JavaScript]

Recipes.registerSmithingTransformRecipe("recipe_id", "template", "base", "addition", "result")

注册锻造纹饰合成表

Recipes.registerSmithingTrimRecipe( recipe_id: string, smithing_template: string, base: string, addition: string )

参数:

  • recipe_id : 合成表的唯一标识符。
  • smithing_template : 锻造模板。
  • base : 基础物品。
  • addition : 纹饰材料。

返回值:Boolean (合成表是否注册成功)

[JavaScript]

Recipes.registerSmithingTrimRecipe("recipe_id", "template", "base", "addition")

注册切石机合成表

Recipes.registerStoneCutterRecipe( recipe_id: string, input: string, input_data: int, output: string, output_data: int, output_count: int )

参数:

  • recipe_id : 合成表的唯一标识符。
  • input : 输入物品。
  • input_data: 输入物品的额外数据。
  • output : 合成结果。
  • output_data: 合成结果的额外数据。
  • output_count: 合成结果的数量。

返回值:Boolean (合成表是否注册成功)

[JavaScript]

Recipes.registerStoneCutterRecipe("recipe_id", "input", 0, "output", 0, 1)