- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
ChatControl Pro/WIKI/JavaScript变量:修订间差异
跳转到导航
跳转到搜索
Qsefthuopq(留言 | 贡献) (创建页面,内容为“ChatControl Pro supports dynamic, high performance variables you create! They can be used across the plugin, in for example chat formatter or death messages. Current…”) |
Qsefthuopq(留言 | 贡献) 无编辑摘要 |
||
(未显示同一用户的5个中间版本) | |||
第1行: | 第1行: | ||
ChatControl Pro | {{模板:Ccpbox}} | ||
ChatControl Pro 支持你创建的动态高性能变量! 变量可以用于很多地方, 如聊天格式和死亡消息. 目前javascript.txt存储了所有的自定义变量. | |||
变量不仅可以用于显示信息,还可以在你写的JavaScript代码内使用. | |||
想要使用Javascript变量,需先启用 Variables.Custom_Enabled. | |||
提醒: 变量在每条新消息上需要重编译,添加太多可能会影响服务器性能. | |||
== | == 需求 == | ||
你需要有一定的Java编程知识,不会的话你也可以百度一下. | |||
== 运算符 == | == 运算符 == | ||
第23行: | 第24行: | ||
使用这个运算符来些脚本 (JavaScript)来获取变量.脚本从新一行开始写. | 使用这个运算符来些脚本 (JavaScript)来获取变量.脚本从新一行开始写. | ||
脚本接受以下来自以下的变量: | |||
* 'player' | * 'player' 获取可用玩家名 | ||
* 'event' | * 'event' 获取可用事件名 | ||
// | // 返回Watch out 的变量示例!对玩家发送消息和 | ||
// 播放音效: | |||
// | |||
define {sound_and_message} | define {sound_and_message} | ||
script: | |||
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!”; | |||
<br /> | <br /> | ||
== | == 使用来自 PlaceholderAPI的变量并用于你的变量 == | ||
以下示例告诉你如何结合其他插件的变量到你的变量内. | |||
define {test} | define {test} | ||
script: | |||
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} | define {ping} | ||
第88行: | 第69行: | ||
代码分析: | |||
# | # <code>define</code> 运算符定义变量 <code>{ping}</code>. | ||
# | # <code>script:</code> 开始编译Javascript代码. 在下面输入你的代码. 代码无大小限制 - ChatControl会在代码结束后或是定义另一个运算符时停止读取. | ||
# | # code itself - 你可以使用包含预定义的 "player" 变量 (如果存在的话)来获取玩家名. 这个的实例代表了Bukkit在Java中的CraftPlayer,因此您可以很容易地访问NMS内部. | ||
== Javascript/Java | == Javascript/Java 编程向导 == | ||
插件作者提供了一些如何编程的教程网站: | |||
* | * [http://winterbe.com/posts/2014/04/05/java8-nashorn-tutorial/ 非官方Nashorn教程] | ||
* | * [http://www.oracle.com/technetwork/articles/java/jf14-nashorn-2126515.html 官方Nashorn教程] |
2019年1月29日 (二) 07:49的最新版本
子页面
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 编程向导
插件作者提供了一些如何编程的教程网站: