Function Compiler
This mod allows the server to automatically compile most of the functions to Java bytecode
介绍
This mod has only been updated up to 1.21.4, because 1.21.5 completely changed the SNBT parser and accessing, which made me slightly less motivated to work on this project. (perhaps 26.1)
Function Compiler
This mod allows the server to compile functions from datapacks on load to Java bytecode, which results in increased performance, because compiled code can run everything at once instead of running commands one by one.
Some statistics are automatically collected when using this mod. Feel free to check the code to check what is reported, but the main things are: timings, function counts, instruction counts, exceptions/crashes (those might contain the commands for debugging).
This mod will not respect the maxCommandChainLength gamerule to improve performance, otherwise it would require the compiled code to check the amount of commands ran, which could be slow.
Usage
Put the mod on a fabric server with all the dependencies, the mod will automatically try to optimize all functions and commands which are supported.
If you encounter any crashes, they will be automatically reported. If you have more context to how to trigger a crash, please report it on the issue tracker.
Supported Commands
Of course this mod can’t support every command, so it will only generate code for functions which contain only commands which are supported. Currently, this will not compile every function with macros. It can’t compile some macros because any value could be interpreted in any way, which is hard to implement using only things known at compile-time, but some things could be guessed.
The list of commands supported currently as of 0.3.2-alpha.2 can be found in the Command Support file.
Supported Selectors
All the selectors are supported, and all their options.
How it works
This mod works by using Java’s class loader: It generates bytecode for the functions at runtime and loads them. If you’d like you can always look at the source here.
常见问题
Function Compiler 支持哪些 Minecraft 版本?
Function Compiler 支持 Minecraft Java 版 1.19.4–1.21.4,共 13 个版本,可用的加载器:Fabric / Quilt。下载时注意选择和你游戏版本一致的文件。
Function Compiler 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Quilt,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅服务端。
EpicPix 的其他作品
查看全部 →Custom Capes
Allows players to upload their own capes and see them in game.
Language Translator
This mod lets you create and edit languages in-game
Message Encryption
This mod encrypts messages end to end to the recipient
Command Profiler
A mod which profiles commands and functions
评论
登录后评论和评分