- 欢迎来到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 编程向导
插件作者提供了一些如何编程的教程网站: