JavaScript
本节需要有一定的 Java / JavaScript 或类似编程基础方便理解
对象
TrMenu 的 JavaScript 引擎目前提供以下对象
bukkitServer
即 Bukkit.getServer()utils
即 me.arasple.mc.trmenu.module.internal.script.js.Assist.INSTANCEplayer
即 玩家本身session
即 me.arasple.mc.trmenu.module.display.MenuSession
插件挂钩
可以在 JavaScript 中调用挂钩的插件,比如我想调用 EcoItems 的 API 来获得物品,可以通过ecoitems.getItem("my_item")
来获得
聪明的你应该已经发现了,绑定到 JavaScript 命名空间的名称是插件名字的全小写
目前支持挂钩的
EcoItems
Floodgate
HeadDatabase
HMCCosmetics
ItemsAdder
MagicCosmetics (注意:这个插件的 JS 命名空间是 magicAPI)
MagicGem
MMOItems
NBTAPI
NeigeItems
Oraxen
PlayerPoints
SkinsRestorer
Skulls
SXItem
Triton
Vault
Zaphkiel
MythicMobs
如果你并不想要,可以关闭Export-Hook-Plugin
Java 命名空间
别名
在settings.yml
中的Bindings.Binding-Map
可以将类以别名导出到 JS 命名空间
比如
奇技淫巧
Java.type
创建别名
函数
TrMenu 的 JavaScript 引擎目前提供以下函数
vars(String input)
返回替换函数变量varInt(String input)
替换变量并转换为整型
注意
TrMenu 的 JavaScript 均会预编译缓存,一切变量使用都需要通过函数处理
表示 “或” 的符号为
||
, 表示 “与” 的符号为&&
实例
判断有无权限
可直接调用 player 对象的方法,
player.hasPermission("perm")
utils
TrMenu GraalJS
该功能仍处于实验性
让 TrMenu 使用 GraalJS,根据性能测试,GraalJS 的执行性能在 Nashorn 的两倍以上,并且支持最新的JS语法
安装
GraalJS 需要在 GraalVM 上才可以完全发挥性能,其他 JDK 也能用
下载 TrMenu GraalJS,作为插件进行安装
语法扩展
包加载
将指定位置.jar(文件或目录路径字符串)添加到 Java 的类路径中
JS执行
加载(解析并执行)指定的 JavaScript 源代码
包访问
GraalVM JavaScript 提供了一个全局属性:Packages
TODO
不想写了(:,还有()
最后更新于