[HEADING=]eval[/HEADING]
why?
至于某些极客而言,或受限于天时,或是地利,更有甚者出于人和原因,处于不充分控制状态。然而由于‘服务器管理’以及‘网络神权主义’,这种控制力不足以打到对应的‘真实’,于是出现了超越最高权限的产物:‘plugins’。而即使是最为快捷的.脚本插件.也具有相对局限性,这是不可避免的。如同社会形态的取舍,在原有基础无限扩大所属权力自然正常。
为了扩大op的权利以达到’网络神权‘实现和安慰‘网络黑社会’这样这种plugins出现是必然导向
how?
正如标题所谓,在命令里执行JavaScript字符串且属于llse——懂的人自然懂
广义用法:
- 扔进plugins文件夹
- 命令方面
- 一般的,对于一个非周期性[1]语句段‘string’执行
- /eval run 'string'
- 返回=>success
- /eval run 'string' toplayer|toentity [目标选择器]
- 注:当拥有目标选择器后可以选择相对目标,目标可直接代替为player或entity,详见举例
- 一般的,对于一个周期性[2]语句段‘string’执行
- 挂起[3]语句:/eval run 'string' pullup 'id[4]' 返回=>success
- 查找已挂起的语句:/eval find 'id' 返回=>'string'
- 删除挂起的语句:/eval remove 'id' 返回=>success
- 列出所有已经挂起的‘id’:/eval list 返回=>array<'id','id'……>
- 一般的,对于一个非周期性[1]语句段‘string’执行
- 例子
- 比如让其执行log("this_is_test")如下
- 执行结果
- 执行eval run "player.tell('nb')" toplayer @a
- 则所有玩家接到文本消息nb
- 执行eval run "entity.kill()" toentity @e
- 则杀死所有实体
- 执行挂起时
- 命令执行完毕后抛出
- 命令方块可以继续执行且有效
[3][4]挂起的概念:在这里,挂起指一整套function,为了弥补在1.0出现的反复执行周期语句
- 确认挂起后,eval.js会首先通过ll.eval()函数执行一次命令
- 然,将’id‘作为唯一标识和‘string’一并记录到evaldate.json中
-
JSON:
{ "all_ids": [ "the_test" ], "the_test": "log(234)" }
-
- 当且仅当eval.js重载时会执行‘string’
此玩意不能在脚本代码留换行符,不然你的控制台就没了
在’remove‘了一个挂起后要重启(可直接用‘eval'命令重启)
希望近天叕是美好的一天