- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
ChatControl Pro/WIKI/JavaScript变量
跳转到导航
跳转到搜索
子页面
ChatControl Pro 支持你创建的动态高性能变量! 变量可以用于很多地方, 如聊天格式和死亡消息. 目前javascript.txt存储了所有的自定义变量.
变量不仅可以用于显示信息,还可以在你写的JavaScript代码内使用.
想要使用Javascript变量,需先启用 Variables.Custom_Enabled.
提醒: 变量在每条新消息上需要重编译,添加太多可能会影响服务器性能.
需求
你需要有一定的Java编程知识,不会的话你也可以百度一下.
运算符
定义
开始声明变量. 把变量名放到运算符后.
// 定义{player_name}变量:
define {player_name}
脚本
使用这个运算符来些脚本 (JavaScript)来获取变量.脚本从新一行开始写.
脚本接受以下来自以下的变量:
- 'player' 获取可用玩家名
- 'event' 获取可用事件名
// 返回Watch out 的变量示例!对玩家发送消息和
// 播放音效:
define {sound_and_message}
script:
// define local pl variable, 只在该脚本内可用
var pl = event.getPlayer();
// define local sound variable
var sound = Java.type("org.bukkit.Sound").ANVIL_LAND;
// 播放音效
pl.playSound(pl.getLocation(), sound, 1F, 1F);
// 返回 "Watch out!"消息 as the placeholder
“Watch out!”;
使用来自 PlaceholderAPI的变量并用于你的变量
以下示例告诉你如何结合其他插件的变量到你的变量内.
define {test}
script:
getTagOrPrefix(); // call the function below that returns the tag or prefix
function getTagOrPrefix() {
// replace with the tag
var tag = "{deluxetags_identifier}";
// if the tag is empty, return prefix, else return tag with [] around it.
return tag == "" ? "{pl_prefix}" : "[" + tag + "]";
}
轻易地访问NMS
define {ping}
script:
// acts if as you were inside of CraftPlayer class, so NMS is directly available
player.getHandle().ping
代码分析:
define运算符定义变量{ping}.script:开始编译Javascript代码. 在下面输入你的代码. 代码无大小限制 - ChatControl会在代码结束后或是定义另一个运算符时停止读取.- code itself - 你可以使用包含预定义的 "player" 变量 (如果存在的话)来获取玩家名. 这个的实例代表了Bukkit在Java中的CraftPlayer,因此您可以很容易地访问NMS内部.
Javascript/Java 编程向导
插件作者提供了一些如何编程的教程网站: