
Function Compiler
这个模组允许服务器自动将大部分函数编译为Java字节码。
该模组仅更新至 1.21.4,因为 1.21.5 完全更改了 SNBT 解析器和访问方式,这让我对该项目的开发动力略有下降。(或许 26.1 会更新)
函数编译器
该模组允许服务器在加载时将数据包中的函数编译为 Java 字节码,从而提升性能,因为编译后的代码可以一次性执行所有内容,而不是逐条运行命令。
使用此模组时会自动收集一些统计数据。欢迎查看代码以了解上报内容,但主要项目包括:计时、函数数量、指令数量、异常/崩溃(这些可能包含用于调试的命令)。
此模组不会遵循 maxCommandChainLength 游戏规则以提升性能,否则将要求编译后的代码检查已运行的命令数量,这可能会降低速度。
使用方法
将模组放入装有所有依赖项的 Fabric 服务器中,模组将自动尝试优化所有支持的函数和命令。
如果遇到任何崩溃,它们会被自动上报。如果您有更多关于如何触发崩溃的上下文,请在上报至问题追踪器。
支持的命令
当然,该模组无法支持所有命令,因此它只会为包含受支持命令的函数生成代码。**目前,这不会编译所有带有宏的函数。**它无法编译某些宏,因为任何值都可能以任何方式被解释,这很难仅使用编译时已知的内容来实现,但某些内容可以被猜测。
截至 0.3.2-alpha.2 版本支持的命令列表可在命令支持文件中找到。
支持的选择器
所有选择器及其所有选项均受支持。
工作原理
该模组利用 Java 的类加载器:它会在运行时为函数生成字节码并加载它们。如果您愿意,可以随时在此处查看源代码。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。