前提
本教程适用于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):元素种类,共分为十种:
Non-metal 非金属,比如碳、磷。
Inert gas 惰性气体,比如氩、氖。
Halogen 卤素,比如氟、氯。
Alkali metal 碱金属,比如钠、钾。
Alkaline earth metal 碱土金属,比如铍、镁。
Metalloid 类金属,比如砷、锑。
Other metal 其他金属,比如硼、硅。
Transition metal 过渡金属,比如钛、铬。
Lanthanide 镧系\稀土元素,比如镧、钪。
Actinide 锕系元素,比如锕、铀。
roomState(String):元素状态,分为三种:
Liquid 液态。
Solid 固态
Gaseous 气态。
radioactivity(String):稳定性,分为六种:
stable 稳定,无辐射。
hardlyRadioactive 几乎无辐射。
slightlyRadioactive 微量辐射。
radioactive 辐射。
highlyRadioactive 大量辐射。
extremelyRadioactive 高强辐射。
实例
import mods.minechem.Chemicals;
Chemicals.addElement(2333,"youdore","youdore","Transition metal","Solid","stable");
效果:
添加元素种类需要重启!
添加分子种类
import mods.minechem.Chemicals;
Chemicals.addMolecule(name,id,roomState,IIngredient[]);
name(String):分子名称,不可以为汉字,但可以用Unicode码;
id(int or String):分子id;
roomState(String):元素状态,分为三种:
Liquid 液态。
Solid 固态
Gaseous 气态。
IIngredient[]:组成分子的元素,即瓶装元素。需要用中括号[]括起来。
实例
import mods.minechem.Chemicals;
Chemicals.addMolecule("youdore",4444,"Solid",[<minechem:minechemElement:1>*16,<minechem:minechemElement:16>]);
效果:
添加分子种类需要重启!
给分子添加效果
首先说明,这些方法是给具有涂层的分子添加效果,如果为一个没有涂层的分子添加效果,则会在给装备附加涂层的时候崩溃游戏!
添加净化效果
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>);