Skip to content

Command:组合命令 ​

top.mcfpp.command.Command 保存命令片段。Function.addCommand 将完成的命令放入当前正在编译的函数。

java
package example.mni;

import top.mcfpp.annotations.MNIFunction;
import top.mcfpp.command.Command;
import top.mcfpp.model.function.Function;

public final class Messages {
    @MNIFunction
    public static void ready() {
        Command command = new Command("say").build("Ready");
        Function.addCommand(command);
    }
}

上例生成 say Ready。build(String) 默认在片段前添加空格。build(text, false) 用于需要紧接前一个片段的位置。

操作用途
new Command(text)创建第一个片段
build(text)添加带空格的文本片段
build(text, false)添加紧接的文本
build(otherCommand)合并命令片段
Function.addCommand(command)添加到当前函数

Java 中传入命令正文,例如 say Ready。MCFPP 源码中的 /say Ready 由语言语法处理开头的斜杠。

运行时参数可涉及宏命令和实体选择器检查。实现这类操作时,使用匹配的后端或宏构造接口。固定文本命令可以直接采用上面的形式。

通过 Dump IR 检查最后写出的命令。