Skip to content

3. 功能

xiaohengying edited this page Apr 2, 2021 · 12 revisions

概述

Trapdoor给生电玩家提供了十分丰富的功能,且几乎所有功能都通过指令来提供。为了达到最佳的使用效果,请在本地(客户端,不是服务端)加载最新版Trapdoor CUI材质包。 下面是每个功能的介绍

说明

在以下的所有指令说明中,

  • []表示必填参数
  • [int]表示整形数据,如-1,1,0,12,128等等
  • [bool]表示布尔型,只能填true(或者1)和false(或者0)
  • [str]表示字符串,可以填任意字符

此外,所有命令都可以使用?子命令用以显示帮助,如:

tick ?

会显示 tick的所有子命令的含义及其用法

指令

td?

该命令用于显示当前用户能够执行的所有指令的帮助,无子命令,如果命名过少可能是被腐竹关闭或者你权限不够。

apicfg

该指令用于插件API的部分参数配置,目前有以下两个子选项

  • apicfg pvd [int] 配置图形的可视距离,这里的图形指的是插件的所有的可视化效果,包括村庄显示,区块边界显示,结构刷怪点显示和史莱姆区块显示等
  • apicfg pm [bool] 是否开启性能模式,开启后可视化造成的游戏卡顿会减少一半,但是显示效果会稍微差点,默认关闭

tick

子命令

  • tick fz 暂停游戏运行
  • tick slow [int] 放慢游戏运行速度,执行该命令后,1gt = 50 * num msnum[2,64]之间
  • tick acc [int] 加快游戏运行速度,执行该命令后,1gt = 50/num ms,当然具体如何还得看你的服务器性能,num必须在[2,10]之间
  • tick fw [int] 让游戏瞬间快进num gt,当然瞬间指的多久还是看你的服务器性能,num过大会导致游戏长时间无响应,是正常现象,请耐心等待
  • tick r 恢复所有的加速减速状态到正常
  • tick q 查询服务器的加速或者减速状态,会返回一个字符串

说明

  1. 在大量执行tick相关指令后可能会因为时钟不同步问题而导致玩家无法进入游戏,这个问题暂时无法用插件解决,只能通过重启服务器来解决问题;
  2. tick acc请勿把倍数设为过大,除非你电脑足够强劲,建议先用prof指令测一下mspt然后用50/mspt向下取整后的整数作为最大倍数。

mspt

该指令会显示当前游戏的msptTPS,且只计算1gt的数据。由于游戏在红石刻要做的任务比非红石刻多得多,且红石刻和非红石刻是间隔运行的,因此mspt显示的数据波动很大属于正常现象,很大说明测到了红石刻的用时,很小就说明测到了非红石刻的用时。如果你想较为准确地评估当前的mspt,可以简单地取平均值,这里更建议直接使用prof指令

在新版的mspt中输出的第一个字符#如果是红色就说明遇到了红石刻,白色说明是普通刻。

prof

  • prof 计算并展示游戏游戏运行的各项用时,取100gt的平均值,因此会间隔5s才返回结果。该指令的输出会广播到所有玩家,第一行显示mspt和TPS,后面接着显示红石系统相关更新时间,区块加载和村庄更新时间以及实体系统更新时间,然后是更新的区块数目和总时间,再往下就是区块更新的随机刻,方块实体和计划刻的更新用时
  • prof actor 计算并展示游戏运行时的各种实体的详细计算用时,也能显示当前加载区域内的各种实体的数量,取100gt的平均值,每一行第一个是实体名字,英文显示,后面是更新总时间,括号内是更新区块内的实体数量。 如果你发现某个实体的数量显示的是0,可能是它在测试一半被despawn了,插件计算个数用的是更新次数/测试的gt数

func

该指令是启用和关闭全局功能的各种功能的开关,所有玩家公用这一个开关。

  • func rotate [bool] 开启或者关闭仙人掌转方块,默认关闭
  • func hopper [bool] 开启或者关闭漏斗计数器,默认关闭
  • func spawn [bool] 开启或者关闭刷怪概率分析,默认关闭
  • func stat [bool] 开启或者关闭玩家行为统计,目前仅支持挖掘和放置方块(考虑到sqlite的性能原因,这个指令已经被移除)
  • func expl [bool] 开启或者关闭爆炸破坏地形(开启后会对实体造成影响但是不影响地形)
  • func ncud [bool] 开启或者关闭NC更新

village

该指令是村庄机制的相关指令

  • village list列出所有正在加载的村庄,数据每1s更新一次`
  • village b [bool] 开启或者关闭村庄边界显示,游戏中显示为红色矩形框
  • village c [bool] 开启或者关闭村庄中心显示,游戏中显示为爱心粒子
  • village s [bool] 开启或者关闭铁傀儡刷出区域显示,游戏中显示为红色矩形框(如果你发现此区域不准确请联系开发者进行调整)
  • village p [bool] 开启或者关闭POI查询范围显示,游戏中显示为红色矩形框
  • village v [bool] 开启或者关闭居民信息显示:开启后村民头顶会出现B M J 这三个字母,分别表示床,集会点(钟)以及工作方块,红色表示未绑定,绿色表示已经绑定好了。攻击村民可以显示它所属的村庄中心以及绑定的POI具体坐标(开启该功能后玩家对村民的攻击无效,不会对游戏造成任何影响),攻击铁傀儡会显示它所属的村庄中心(也不会对铁傀儡造成任何伤害)。
  • village n列出离命令发送者最近的村庄的详细信息,包括所有POI的具体坐标和绑定关系

三种框的颜色和村庄中心的粒子效果在配置文件中可以设置

hsa

  • hsa show [bool]开启或者关闭结构中的定点刷怪区域显示(hsa),红框为地狱堡垒,绿框为女巫小屋,篮框为海底神殿,黄框为掠夺者前哨站
  • hsa clear 清除hsa数据缓存并打印清除的hsa数目

slime

  • slime show [bool] 开启或者关闭史莱姆区块显示(这个数据每5s更新一次)
  • slime c清空并重新计算史莱姆区块缓存
  • slime r [int] 设置史莱姆现显示的半径r

spanwcounter

因会造成崩服,已经移除

该指令提供刷怪分析器的相关支持

  • spawncounter s 开始进行刷怪统计
  • spawncounter e 结束刷怪统计
  • spawncounter p打印统计数据

o,s,c

游戏自带指令gamemode 的扩展

  • o 切换当前玩家为创造观察者模式
  • s 切换当前玩家为生存模式
  • c 切换当前玩家为创造模式

OS

该命令用于显示服务器相关信息,第一行是CPU占用,第二行是内存占用,第三行是IO读写情况:

CPU : 12%
Mem: 170MB VMem 171MB
Read/Write: 1203/1234 KB

self

该命令是玩家个人信息的显示,不会影响其它玩家

  • self显示一些信息,包括区块坐标,视角,维度等等
  • self chunk [bool]开启关闭自己的区块显示
  • self me [bool] 开启或关闭测量功能
  • self rs [bool] 开启或者关闭信号源查看功能

backup

该指令提供备份相关功能,在使用该指令之前需要到配置文件中填写存档名字.

  • backup b备份当前存档
  • backup l列出所有的备份
  • backup crash崩服

所有备份的存档都没有被压缩,而是直接被移动到trapdoor-backup目录中

draw

该功能需要func draw true后才可使用

该功能弥补了原版的fill只能画长方体的不足,增加了画圆和球的功能

所有子命令都是以玩家脚下站的方块为填充方块

  • draw ci [int],建造半径为abs(num)的圆形,输入为正数时建造实心的,输入为负数时建造空心的
  • draw sp [int] 建造对应半径的球体,其它同上一条指令

这个功能面对栅栏,石墙等高1.5格的方块没法使用,会识别为空气,不打算修了QAQ

counter

该功能需要func hopper true后方可使用

漏斗计数器是用来统计物品流量的功能。

在你用/func hc true后,如果漏斗对准的不是箱子而是16色的混凝土,那么漏斗就会变成无尽漏斗,所有吸入的东西都不会放入漏斗的物品槽中,但是数据会保留下来.你可以用/counter p channel来查看这些漏斗吸收的物品数据,包括每种物品的个数和吸入平均速率。用./counter reset channel来重置某个频道的所有漏斗。channel选填[0-15],对应16色的混凝土,如果你记不清哪个颜色对应哪个特殊值,直接用仙人掌右键某个颜色的混凝土方块可以直接显示该频道的数据。

fakeplayer

实验性功能,想使用请自行下载源码编译

trapdoor本身并不提供假人玩家的功能,该指令提供了和假人插件联动的功能,开启假人插件的websocket,就能利用trapdoor与其进行交互,在游戏内部操作假人

  • fakeplayer conn [str]连接假人插件,str是websocket链接,如ws://127.0.0.1:1234
  • fakeplayer add [str]添加假人到出生点
  • fakeplayer remove [str]移除假人
  • fakeplayer list [str] 列出所有
  • fakeplayer tp [str] 传送假人到当前玩家所在位置

功能

下面是一些非指令的功能

仙人掌转方块

该功能需要func rotate true后方可使用 仙人掌右击部分方块可以旋转该方块,也就是改变方块的特殊值,支持所有的半砖,楼梯以及红石原件等方块

区块显示

该功能需要self chunk true后方可使用

开启后就是区块显示,普通区块为白色网格,史莱姆区块为绿色网格(主要是为了弥补1.16.4以后的区块边界材质包失效的问题)

刷怪指示器

该功能需要func spawn true后方可使用

  • 骨头右击方块可以可视化纵轴的刷怪选点过程
  • 火药右键方块可以显示亮度为0时候的刷怪类型概率(主要是敌对生物)
  • 皮革右键方块可以显示亮度为15时候的刷怪类型概率(主要是有好生物) (这么做主要还是获取亮度的api有问题)

测量

该功能需要self me true后方可使用

使用木剑右击方块设置一个点,使用石剑右击方块设置第二个点,输出第一行是两个点的坐标,后面跟着两行两列四个数据:第一行是不忽略y的空间,第二行是忽略y的平面距离;第一列是利用勾股定理计算的欧氏距离,第二列是曼哈段距离

信号源查看

该功能需要self rs true后方可使用 使用木棍右击红石原件即可,屏幕会输出该原件的红石信号的值(这个值对中继器比较器来说是无效数据),下面几行是这个原件的信号源坐标以及其红石信号值,同时在游戏内也会在信号源的头顶生成白色烟雾粒子