MC版本:1.12.2  仅使用CraftTweaker

一、雾化器(Atomizer)

所属包:mods.alchemistry.Atomizer

//添加
mods.alchemistry.Atomizer.addRecipe(IItemStack output, ILiquidStack input); //前后两个参数分别是输出,输入,下同
mods.alchemistry.Atomizer.addRecipe(<minecraft:redstone>,<liquid:beryllium>*500); //实例,下同
//移除
mods.alchemistry.Atomizer.removeRecipe(ILiquidStack input); //运行时忽视数量
mods.alchemistry.Atomizer.removeRecipe(<liquid:iron>);
mods.alchemistry.Atomizer.removeAllRecipes(); //移除雾化器全部配方,下同

二.化学化合机(Chemical Combiner)

所属包:mods.alchemistry.Combiner

//添加
mods.alchemistry.Combiner.addRecipe(IItemStack output, IItemstack[] input);
mods.alchemistry.Combiner.addRecipe(<minecraft:redstone>,
    [<alchemistry:element:5>,<alchemistry:element:5>,null,
     <alchemistry:element:5>]);
//移除
mods.alchemistry.Combiner.removeRecipe(IItemStack output);
mods.alchemistry.Combiner.removeRecipe(<minecraft:gold_ingot>);
mods.alchemistry.Combiner.removeAllRecipes();
//如果加入了gamestage模组可以设置到阶段才能用的配方联动
//新建
mods.alchemistry.Combiner.addStagedRecipe(IItemStack output, IItemstack[] input, String stage);
//设置已有配方
mods.alchemistry.Combiner.setAsStaged(IItemStack output, String stage);

三.化学溶解机(Chemical Disslover)

所属包:mods.alchemistry.Dissolver


//添加
mods.alchemistry.Dissolver.addRecipe(IIngredient input, boolean relativeProbability, int rolls, Object[][] probabilityGroups);
mods.alchemistry.Dissolver.addRecipe(<minecraft:dye:9>, false, 5,
[[10, <minecraft:stone>], 
 [20, <minecraft:sand>,<minecraft:iron_ore>]]);
//移除
mods.alchemistry.Dissolver.removeRecipe(IIngredient input);
mods.alchemistry.Dissolver.removeRecipe(<minecraft:ender_pearl>);
mods.alchemistry.Dissolver.removeAllRecipes();

注意:如果 relativeProbability 为 true,每个概率会基于所有概率的总和计算。 在上述例子中,有 33.3% 的概率会在每次抽取时输出石头,有 66.6% 的概率会在每次抽取时输出沙子和铁矿石。

如果 relativeProbability 为 false,那么这些数字会变为绝对的百分比,即 10% 的概率输出石头,20% 的概率输出沙子和铁矿石(无论是否输出石头),支持浮点概率,4.5 表示 4.5%。

四.自定义化合物(Create Compound)

所属包:mods.alchemistry.Util.createCompound

#loader alchemistry //这个必须写,而且要在第一行写,因为后面的加载依赖于这个加载器
//创建
mods.alchemistry.Util.createCompound(int meta, String name, int red, int green, int blue, Object[][] components);
mods.alchemistry.Util.createCompound(1000, "vibranium sufide", 20, 69, 185,
[["vibranium", 1],
 ["sulfur", 3]]);

注意:

  • 必须使用小写名称.

  • 复合字段需求每个条目都是数组,如 ["cellulose", 5],声明元素、化合物及其数量。 此处使用字符串参数,而非 itemstack,以确保其仅为元素、化合物.

  • meta 字段用于确保你的新化合物拥有一个特殊标识符,即使其他化合物创建或移除也不可更改之。 每个化合物都需要一个独一无二的 meta 值。 直至写这篇教程时,该 mod 仅仅使用了 0 至 35 的 meta 值,但建议你使用至少 1000 的 meta(就像上面的例子那样)以确保 Alchemistry 的内置配方永远不会与你的冲突.

五.电解机(Electrolyzer)

所属包:mods.alchemistry.Electrolyzer

//添加
mods.alchemistry.Electrolyzer.addRecipe(ILiquidStack input, IItemStack input, int electrolyteConsumptionChance, IItemStack output, IItemStack output2, @Nullable IItemStack output3, @Nullable int output3Chance, @Nullable IItemStack output4, @Nullable int output4Chance);
mods.alchemistry.Electrolyzer.addRecipe(<liquid:water>*400,<minecraft:stone>,10,<minecraft:ender_pearl>*2,<minecraft:sand>,null,0,null,0);
//四个参数分别是输入的流体,输入的电解质,电解质消耗概率,输出
//移除
mods.alchemistry.Electrolyzer.removeRecipe(ILiquidStack input, IItemStack input);
mods.alchemistry.Electrolyzer.removeRecipe(<liquid:water>*125,<alchemistry:compound:13>);
mods.alchemistry.Electrolyzer.removeAllRecipes();

六.自定义元素(Element Creation)

所属包:mods.alchemistry.Util.createElement

#loader alchemistry //这个也必须写,同自定义化合物
mods.alchemistry.Util.createElement(int atomicNumber, String name, String abbreviation, int red, int green, int blue);
mods.alchemistry.Util.createElement(150,"vibranium","Vrb", 70, 90, 250);
mods.alchemistry.Util.createElement(151,"unobtanium","Uno",30,54,69);

注意:

  • 请使用小写名称

  • 已存在的元素数字不可覆盖

  • 注意:截至 1.0.2 版本,Mod 的资源加载器必须包含自定义元素的图像与模型 JSON 文件,我已经写好了一个 JAR 命令行程序,帮助你自动生成这些资源

七.蒸发皿(Evaporator)

所属包:mods.alchemistry.Evaporator

//添加
mods.alchemistry.Evaporator.addRecipe(IItemStack output, ILiquidStack input);
mods.alchemistry.Evaporator.addRecipe(<minecraft:stone>,<liquid:lava>*250);
//移除
mods.alchemistry.Evaporator.removeRecipe(ILiquidStack input); //无论数量多少,都可以运行
mods.alchemistry.Evaporator.removeRecipe(<liquid:milk>);
mods.alchemistry.Evaporator.removeAllRecipes();

八.液化器(Liquifier)

所属包:mods.alchemistry.Liquifier

//添加
mods.alchemistry.Liquifier.addRecipe(ILiquidStack output, IItemStack input);
mods.alchemistry.Liquifier.addRecipe(<liquid:beryllium>*100,<alchemistry:element:5>);
//移除
mods.alchemistry.Liquifier.removeRecipe(IItemStack input);
mods.alchemistry.Liquifier.removeAllRecipes();

九.获取meta值

Get 是个查找元素与化合物 meta 值的好方法,但传统的方法 alchemistry:compound:17 也运行的也很好。

所属包:mods.alchemistry.Util.get

//用法
mods.alchemistry.Util.get(String name);
val strontiumCarbonate = mods.alchemistry.Util.get("strontium_carbonate");
val carbon = mods.alchemistry.Util.get("carbon");//
//同步打印到日志

英文原文:Home - CraftTweaker Documentation (blamejared.com)