添加物品阶段
1.1.0
最新版本,如果模组有更新本教程会同步更新。
数据包:
{
"type": "emc_stage:stage_limit",
"limit_item": {
"item":"minecraft:iron_ingot"
},
"stages": ["two","three"],
"require": true
}
给铁锭添加 two 和 three 的转化阶段,并且需要同时达成。
如果将 require 字段改为 false,则 two 和 three 阶段达成任一即可。
CraftTweaker:
<recipetype:emc_stage:stage_limit>.add(stack as IItemStack, stages as string[], require as boolean);
这里的 require 字段含义与上方相同。
1.0.0
数据包:
{
"type": "emc_stage:stage_limit",
"limit_item": {
"item":"minecraft:bedrock"
},
"stage": "two"
}
给基岩添加 two 的转化阶段,该版本仅限添加一个阶段。
CraftTweaker:
<recipetype:emc_stage:stage_limit>.add(item as IItemStack, stage as string);
CrT玩家拓展
CrT 玩家类名:
crafttweaker.api.player.MCPlayerEntity;
方法名 | 返回值 | 解释 |
---|---|---|
getEMC() | long | 获取玩家EMC |
getBigIntegerPlayerEMC() | java.math.BigInteger | 如果玩家EMC超过long上限用这个(可能会有问题) |
setEMC(long value) | void | 设置玩家EMC |
hasKnowledge(IItemStack stack) | boolean | 判断玩家是否存在某个物品转化桌知识 |
addKnowledge(IItemStack stack) | boolean | 给玩家增加一个物品转化桌知识,返回是否成功添加 |
removeKnowledge(IItemStack stack) | boolean | 给玩家删除一个物品转化桌知识,返回是否成功删除 |
例子:
当玩家捡起物品的时候:
输出玩家的EMC值;
将玩家的 EMC 设置为 114,514;
输出玩家是否有基岩的转化知识;
给玩家添加铁锭的转化知识,忽略返回值。
import crafttweaker.api.events.CTEventManager;
import crafttweaker.api.event.entity.player.MCItemPickupEvent;
CTEventManager.register<MCItemPickupEvent>(event => {
var player = event.player;
println(player.getEMC());
player.setEMC(114514);
println(player.hasKnowledge(<item:minecraft:bedrock>));
player.addKnowledge(<item:minecraft:iron_ingot>);
});