Skip to content

Minecraft 目标版本 ​

mcfpp.toml 中的 version 选择本次构建的 Minecraft Java 版目标。每次构建生成一个目标版本的数据包。

toml
version = "1.21.8"

切换版本后重新构建。需要保留多个版本的产物时,分别设置 targetPath,例如 build-1.21.8 和 build-26.3。

受支持的目标 ​

当前目标表包含以下版本:

系列版本
26.x26.1、26.2、26.3
1.211.21、1.21.1、1.21.2、1.21.3、1.21.4、1.21.5、1.21.6、1.21.7、1.21.8
1.201.20、1.20.1、1.20.2、1.20.3、1.20.4、1.20.5、1.20.6
1.191.19、1.19.1、1.19.2、1.19.3、1.19.4
1.181.18、1.18.1、1.18.2
1.171.17、1.17.1
1.161.16、1.16.1、1.16.2、1.16.3、1.16.4、1.16.5
1.151.15、1.15.1、1.15.2
1.141.14、1.14.1、1.14.2、1.14.3、1.14.4
1.131.13、1.13.1、1.13.2

目标支持决定包格式和可用的命令能力。项目使用的 API 仍需满足对应目标的要求。

根据版本选择源码 ​

mcfpp
func main() {
#if MC >= 26.3
    print("Number provider target")
#elif MC >= 26.1
    print("26.x target")
#else
    print("Legacy target")
#endif
}

每条指令独占一行。支持 ==、!=、<、<=、> 和 >=。编译器在语法分析前选出当前分支,IDEA 使用同一个工程版本。

浮点运算 ​

26.3 使用 Minecraft 数值提供器和 NBT float。较早目标使用计分板模拟的浮点运算。编译器按 version 选择对应标准库和运行时资源。

相同的源码可以保留 float 类型。更换目标后,使用 Dump IR 检查实际生成的命令。