- Programmable Camera 可编程视角相机 LiteLoaderBDS(或LegacyScriptEngine)的Javascript插件
- 提示:根据个人测试得出结论,玩家视距范围之外的相机将不会加载画面
- 修复
tooth.json
。
- 使用lip
lip install github.com/odorajbotoj/LLSE-PCamera
- 在至少运行过一次后,生成的配置文件位于
plugins/LLSE-PCameraData/conf.json
public_point
决定是否可以查看他人点位。应为0
或1
public_script
决定是否可以执行他人脚本。应为0
或1
pc clear
清除所有相机效果,中断执行脚本pc eval <text>
相当于camera @s <text>
pc me
打印当前所处坐标与视角信息pc point ls
列出个人所有点位信息pc point rm <Point>
删除一个点位pc point save <Point> [text]
将当前位置保存到点位(共p1-p8有八个),可以加注释pc point view <Point> [int] [target]
查看一个点位。可以设置延时(毫秒)。若public_point
为真,则可以通过指定一个target查看他人的点位pc preset circle2d <origin> <radius> <fromAng> <toAng> <steps> <timePerStep> <facing>
以origin为圆心,radius为半径,从fromAng到toAng,以timePerStep为延时走steps步,面向facing坐标,生成圆弧轨迹并执行pc preset circula_helix <origin> <radius> <fromAng> <toAng> <steps> <timePerStep> <height>
以origin为圆心,radius为半径,从fromAng到toAng,以timePerStep为延时走steps步,面向轴心,升高(正)或降低(负)height绝对值高度,生成圆柱螺线轨迹并执行pc preset simple_clrcle <radius> <timePerStep>
以自身为圆心,radius为半径,从0到360度,以timePerStep为延时走360步,面向圆心,生成圆轨迹并执行pc script cat <string>
列出一个脚本的内容pc script edit <string>
编辑脚本(详见“编辑脚本”)章节pc script exec <string> [repeat] [delay] [target]
执行一个脚本。可以设置延时(毫秒),也可以循环执行(repeat设置为true)。若public_script
为真,则可以通过指定一个target执行他人的脚本pc script ls
列出个人所有脚本pc script rm <string>
删除一个脚本pc shake <text>
相当于camerashake add @s <text>
title <content: string> <type: int> <fadeInTick: int> <stayTick: int> <fadeOutTick: int>
content为双引号包裹的标题内容(支持反斜杠转义双引号),末尾三个参数(未知原因已失效)分别是淡入、停留、淡出时间。type取值如下:
type参数 | 消息类型 |
---|---|
0 | 清空(Clear) |
1 | 重设(Reset) |
2 | 设置主标题(SetTitle) |
3 | 设置副标题(SetSubTitle) |
4 | 设置Actionbar(SetActionBar) |
5 | 设置显示时间(SetDurations) |
6 | Json型主标题(TitleTextObject) |
7 | Json型副标题(SubtitleTextObject) |
8 | Json型Actionbar(ActionbarTextObject) |
toast <text1: string> <text2: string>
text1和text2分别是双引号包裹的toast上下两行内容(支持反斜杠转义双引号)。shake <string>
同上述pc shake
cam <string>
同上述pc eval
! <string>
表示本行string内容不受head、tail、autodelay和origin修饰(内容应为功能语句)preset circle2d <origin_x: float> <origin_y: float> <origin_z: float> <radius: float> <fromAng: float> <toAng: float> <steps: int> <timePerStep: float> <facing_x: float> <facing_y: float> <facing_z: float>
同指令preset circular_helix <origin_x: float> <origin_y: float> <origin_z: float> <radius: float> <fromAng: float> <toAng: float> <steps: int> <timePerStep: float> <height: float>
同指令
head <string>
在遇到下一个end
或结尾前使用相同前缀tail <string>
在遇到下一个end
或结尾前使用相同后缀setdim <dim: int>
设置脚本执行的维度,不在同一维度的玩家将无法执行其之后的内容。建议设置在开头。可选值为0(主世界),1(地狱),2(末地)autodelay <s: int>
在遇到下一个end
或结尾前每一条指令后都执行delayorigin <name: string>
在遇到下一个end
或结尾之前修饰cam
选项,即变成execute at <target> run cam <name> <string>
。这意味着cam
里面的pos
和facing
将支持绝对坐标/相对坐标/局部坐标/玩家名称。end
闭合一个修饰器delay <s: float>
延时(秒)。cam语句操作不会阻塞等待结果,故延时十分重要。
- 内容前多输入一个空格即可正常发出,否则会被存进缓冲区
:m
同上述pc me
:p
打印缓冲区:w [name]
写入文件或另存为:q
退出编辑:d i
删除某一行:j i
跳转到某一行
- MIT LICENSE