前提

本教程适用于1.7.10 MineChem 模组,

教程内容来源于模组反编译,以及本人亲自试验,有不对的地方还望指出。

正文

元素、分子

添加元素种类

import mods.minechem.Chemicals;
Chemicals.addElement(id,name,descriptiveName,classification,roomState,radioactivity);

id(int or String):元素的id,可以理解为原子序数;

name(String):元素缩写,不可以为汉字,但可以用Unicode码;

descriptiveName(String):元素大写,不可以为汉字,但可以用Unicode码;

classification(String):元素种类,共分为十种:

  1. Non-metal 非金属,比如碳、磷。

  2. Inert gas 惰性气体,比如氩、氖。

  3. Halogen 卤素,比如氟、氯。

  4. Alkali metal 碱金属,比如钠、钾。

  5. Alkaline earth metal  碱土金属,比如铍、镁。

  6. Metalloid 类金属,比如砷、锑。

  7. Other metal 其他金属,比如硼、硅。

  8. Transition metal 过渡金属,比如钛、铬。

  9. Lanthanide 镧系\稀土元素,比如镧、钪。

  10. Actinide 锕系元素,比如锕、铀。

roomState(String):元素状态,分为三种:

  1. Liquid 液态。

  2. Solid 固态

  3. Gaseous 气态。

radioactivity(String):稳定性,分为六种:

  1. stable 稳定,无辐射。

  2. hardlyRadioactive 几乎无辐射。

  3. slightlyRadioactive 微量辐射。

  4. radioactive 辐射。

  5. highlyRadioactive 大量辐射。

  6. extremelyRadioactive 高强辐射。

实例

import mods.minechem.Chemicals;
Chemicals.addElement(2333,"youdore","youdore","Transition metal","Solid","stable");

效果:

化学(MineChem) -MoT改教程-第1张图片添加元素种类需要重启!

添加分子种类

import mods.minechem.Chemicals;
Chemicals.addMolecule(name,id,roomState,IIngredient[]);

name(String):分子名称,不可以为汉字,但可以用Unicode码;

id(int or String):分子id;

roomState(String):元素状态,分为三种:

  1. Liquid 液态。

  2. Solid 固态

  3. Gaseous 气态。

IIngredient[]:组成分子的元素,即瓶装元素需要用中括号[]括起来。

实例

import mods.minechem.Chemicals;
Chemicals.addMolecule("youdore",4444,"Solid",[<minechem:minechemElement:1>*16,<minechem:minechemElement:16>]);

效果:

化学(MineChem) -MoT改教程-第2张图片

添加分子种类需要重启!

给分子添加效果

首先说明,这些方法是给具有涂层的分子添加效果,如果为一个没有涂层的分子添加效果,则会在给装备附加涂层的时候崩溃游戏

添加净化效果

import mods.minechem.Chemicals;
Chemicals.addCureEffect(molecule,name);

molecule(ItemStack):分子名称,即瓶装分子。

name(String):净化的buff名称,需非本地化名称。选填,默认为all。

实例

import mods.minechem.Chemicals;
Chemicals.addCureEffect(<minechem:minechemMolecule:79>,"moveSpeed");

增加伤害值

import mods.minechem.Chemicals;
Chemicals.addDamageEffect(molecule,damage);

molecule(ItemStack):分子名称,即瓶装分子。

damage(int):增加的伤害值,2点为一颗心。

实例

import mods.minechem.Chemicals;
Chemicals.addDamageEffect(<minechem:minechemMolecule:79,10);

为被攻击的人增加饥饿值

import mods.minechem.Chemicals;
Chemicals.addFoodEffect(molecule,level,saturation);

molecule(ItemStack):分子名称,即瓶装分子。

level(int):恢复的饱食度。

saturation(int):恢复的饱和度。

实例

import mods.minechem.Chemicals;
Chemicals.addFoodEffect(<minechem:minechemMolecule:79>,2,1);

我实在想不明白为什么要会有给敌人加饱食度这种东西……

添加火焰附加

import mods.minechem.Chemicals;
Chemicals.addBurnEffect(molecule,time);

molecule(ItemStack):分子名称,即瓶装分子。

time(int):灼烧时间。

添加药水效果

import mods.minechem.Chemicals;
Chemicals.addPotionEffect(molecule,potion,time,level);

molecule(ItemStack):分子名称,即瓶装分子。

potion(String):药水效果,需其非本地化名称。

time(int):效果持续时间。

level(int):效果等级,选填,默认为0,即1级。

实例

import mods.minechem.Chemicals;
Chemicals.addPotionEffect(<minechem:minechemMolecule:79>,"moveSpeed",10,1);

移除分子所有效果

import mods.minechem.Chemicals;
Chemicals.removeMoleculeEffects(molecule);

molecule(ItemStack):分子名称,即瓶装分子。

实例

import mods.minechem.Chemicals;
Chemicals.removeMoleculeEffects(<minechem:minechemMolecule:79>);

分解反应台

添加物品合成表

import mods.minechem.Decomposer;
Decomposer.addRecipe(input,chance,output[][]);

input(ItemStack):输入的物品。

chance(double):产出几率,范围【1.00~0.00】。

output[][]:产出元素,即瓶装元素,需要双中括号。

实例

import mods.minechem.Decomposer;
Decomposer.addRecipe(<minecraft:bedrock>,1.00,[[<minechem:minechemElement:118>,<minechem:minechemElement:117>]]);

添加流体合成表

import mods.minechem.Decomposer;
Decomposer.addFluid(Finput,output[]);

Finput(FluidStack):输入的流体。

output[]:产出元素,即瓶装元素,需要单中括号。

实例

import mods.minechem.Decomposer;
Decomposer.addFluid(<liquid:water>*10,[<minechem:minechemElement:6>*3]);

流体产出不会在NEI中显示。

移除分解合成表

import mods.minechem.Decomposer;
Decomposer.remove(input);

input:输入的物品或流体。

实例

import mods.minechem.Decomposer;
Decomposer.remove(<liquid:water>);

化合反应台

添加化合合成表

import mods.minechem.Synthesiser;
Synthesiser.addRecipe(input[],output,isShaped,energy);

input[]:输入的元素或分子,需要单中括号。

output:输出的物品,可以是普通物品也可以是分子,甚至可以是元素。

isShaped(boolean):是否为有序合成表,true为有序,false为无序。

energy(int):RF消耗,但实际数值要乘以10,比如写入50,游戏中需求则为500RF。

实例

import mods.minechem.Synthesiser;
Synthesiser.addRecipe([<minechem:minechemMolecule:79>,<minechem:minechemElement:16>],<minechem:minechemElement:1>,false,50);

删除化合合成表

import mods.minechem.Synthesiser;
Synthesiser.removeRecipe(output);

output:输出的物品。

实例

import mods.minechem.Synthesiser;
Synthesiser.removeRecipe(<minecraft:iron_ingot>);