本帖最后由 yhr 于 2018-5-7 06:18 编辑

此教程是关于Macro Mod的CRAFT,CRAFTANDWAIT,以及CLEARCRAFT命令的用法和应用
基础教程可以去看我的Mod发布帖,http://www.mcbbs.net/thread-775087-1-1.html


第一部分-命令的使用

在开始前我们先来看看CRAFT命令的官方语法:
  1. CRAFT(<物品[:数据值]>,[数量],[丢出],[详细信息])
复制代码
首先分别解释一下每个参数的意义:
物品:要合成的物品的名字,必填,必须是一个字符串,例: CRAFT("crafting_table");
数据值:附加值,可以不填,例: CRAFT("wool:1");
数量:想要合成的数量,不填的话默认是1,例: CRAFT("crafting_table",5);
丢出:是否把成品丢出去,可以为true或者false,默认为false,例: CRAFT("crafting_table",5,true);
详细信息:是否显示详细信息,可以为true或者false,默认为false,例: CRAFT("crafting_table",5,true,true);

当你想要合成的东西必须要合成台的时候,你首先需要将光标指向一个工作台,然后执行CRAFT将会打开这个工作台并进行合成。
值得一提的一点是:CRAFT命令并不会等待你的合成结束,也就是说在开始你的合成以后他会立刻开始执行后面的脚本。

CRAFTANDWAIT命令在使用上几乎和CRAFT命令一模一样,区别仅仅是CRAFTANDWAIT不会接着执行后面的脚本,他会等到你的合成结束。

我们可以通过这样的一个例子对比一下两条命令:
  1. LOG("Start");
  2. CRAFT("crafting_table",1,false,true);
  3. LOG("End");
复制代码
保存到一个文本中并绑定到一个按键上看看效果,然后将当中的CRAFT替换成CRAFTANDWAIT再看看效果。

最后,还有一条指令需要介绍,就是CLEARCRAFTING。不过这个指令非常简单,没有任何参数,执行这条指令会请空合成队列并且停止当前的所有合成,用一个例子说明他的作用:
  1. CRAFT("stick:0",64);
  2. WAIT(100t);
  3. CLEARCRAFTING();
复制代码
这个例子会在开始合成5秒后停止合成。

第二部分-超越命令的使用

在尝试了CRAFT系列命令后相信很多人都会和我有一样的感受:好慢啊
这个自动合成在量大的时候甚至还没有手工的快。
当你让它合成一背包的石砖的时候甚至会开始怀疑人生。
这样就无解了吗?
当然不是!
CRAFT命令不过是一个方便的快捷命令,我们可以通过GETSLOT,GETSLOTITM和SLOTCLICK自己实现一个快捷合成



先暂时更到这里,下回有空再继续更新,好奇最后一段的可以去https://mkb.gorlem.ml/scripts/list看一下大佬们写的例子。