本篇教程由作者设定使用 CC BY-NC-SA 协议。
CrT 版本支持
粒子碰撞只兼容 CrT 4.1.20.582 及以上的版本,若安装了低于这个版本的 CrT 将会造成游戏崩溃。
晶核与金属生成器
晶核的魔改不通过 CrT 实现,具体见 晶核 资料。
宝石生成器
添加物品:mods.collision.GemSpawner.addItem(IItemStack stack, int wight);
删除物品:mods.collision.GemSpawner.removeItem(IItemStack stack);
删除全部物品:mods.collision.GemSpawner.removeAll();
例子:
mods.collision.GemSpawner.addItem(<item:minecraft:dye:15>, 400); // 添加骨粉至宝石生成器,权重为 400
mods.collision.GemSpawner.removeItem(<item:minecraft:redstone>); // 删除红石
粒子碰撞器
普通配方添加
mods.collision.Collider.addRecipe(int level, IItemStack out, Absorber[][] absorbers, @Optional int successChance);
level 为使用的碰撞器等级
out 为配方输出
absorbers 为使用的吸收载体
successChance 是配方成功几率,即产生成品的几率,可以省略不填,默认值为 100。
例子:
import mods.collision.Absorber;
import mods.collision.Collider;
val p as Absorber = Absorber.proton(); // 质子
val n as Absorber = Absorber.neutron(); // 中子
Collider.addRecipe(3, <item:minecraft:clock>, [[p, null, n], [null, null, null], [n, null, null]], 80);
普通配方移除
mods.collision.Collider.removeRecipe(IItemStack stack); // 删除指定物品的配方
mods.collision.Collider.removeAll(); // 删除全部配方
特殊配方添加
粒子碰撞器同时允许其他方块作为输入。
mods.collision.Collider.addCustomRecipe(int level, IItemStack out, IIngredient[][] blocks, @Optional int successChance, @Optional int conversionChance, @Optional IIngredient[][] conversionBlocks);
level 为碰撞器等级
out 为配方成品
blocks 为输入方块,其中参数为 IIngredient,所以你可以使用矿辞,甚至是 IngredientOr
successChance 为成功几率,即产生配方成品的几率,默认为 100
conversionChance 为激活碰撞器后周围方块会发生转变的几率,默认为 100
conversionBlocks 为周围方块会转变为什么,默认为全是空气。虽然参数是 IIngredient,但内部处理视为 IItemStack,所以尽量只使用物品或矿辞。
例子
val bs = <item:minecraft:iron_block> | <item:minecraft:stone>;
val g = <item:minecraft:gold_block>;
mods.collision.Collider.addCustomRecipe(1, <item:minecraft:apple>, [[bs, bs, bs], [null, null, null], [bs, bs, bs]], 100, 80, [[null, g, null], [g, null, g], [null, g, null]]);