名词解释
这一页把后面会反复出现的词都解释清楚。不用背,看不懂的时候回来查就行。
插件相关
虚拟方块 / 发包方块
服务器骗客户端"这里有个方块",但世界存档里其实没有。玩家看得见、能右键,但挖不走,重进游戏或者走远再走近,它的显示都由插件重新控制。
本插件的所有宝箱都是虚拟方块。
发包
"发送数据包"的简称。服务器和客户端之间靠数据包通信,插件通过发送特制的数据包让客户端显示出并不存在的箱子。
你不需要理解它的原理,只需要知道:宝箱是发包做出来的,所以它不影响你的地图。
宝箱 ID
每个宝箱类型的名字,等于配置文件的文件名去掉 .yml。
比如 plugins/TreasuresLite/treasures/def.yml 这个文件,它的宝箱 ID 就是 def。后面命令里写 /tsl open def,指的就是它。
刷新点 / 坐标点
宝箱可能出现的位置。你在 location.yml 里告诉插件"哪些位置可以出宝箱",插件到点了就在这些位置显示宝箱。
坐标组
一堆刷新点的集合,你给它起个名字。
比如你想在出生点周围放 5 个宝箱位置,就把这 5 个坐标放进一个叫 spawn_area 的组里。之后要用的时候直接写组名,不用重复写 5 个坐标。
固定刷新 / Normal
宝箱只会出现在你手动指定的那些坐标上。适合大厅、出生点、活动场地这种位置固定的场景。
随机刷新 / Random
你划一个矩形区域,插件在这个区域里随机挑位置放宝箱。适合野外探索、寻宝活动。
每个玩家随机到的位置是独立的,玩家 A 看到的宝箱和玩家 B 看到的不在同一个地方。
公共宝箱
默认情况下,同一个刷新点的宝箱每个玩家都能各开一次。
配成公共宝箱后就变成"先到先得":谁先开了,这个位置的宝箱对所有人消失,等下次刷新才会重新出现。
显示距离
玩家离宝箱多近才能看见它。默认 16 格。
超过这个距离插件不会发包,所以玩家看不到。这是为了减少不必要的数据传输。
刷新周期
隔多久重新决定一次"宝箱应该出现在哪些位置"。默认 30 分钟。
注意它和"显示刷新"不是一回事:刷新周期决定宝箱在哪,显示刷新只是把已经决定好的宝箱重新发给玩家看。
配置文件相关
YAML
配置文件用的格式,后缀是 .yml。特点是用缩进表示层级关系。
settings: # 这是第一层
lock_inventory: true # 缩进 2 空格,属于 settings 里面
open_key: # 也属于 settings
deny: |- # 缩进 4 空格,属于 open_key 里面
tell "没钥匙"
三条必须遵守的规则:
- 只能用空格缩进,不能按 Tab 键
- 同一层的项目缩进必须一样多
- 冒号后面要有一个空格,写
key: value而不是key:value
节点
配置文件里的一个层级,比如上面例子中的 settings、open_key 都叫节点。
文档里说"在 settings.open_key 节点下配置",意思就是先找到 settings,再找到它下面的 open_key,然后写在那里面。
键 / 值
lock_inventory: true 这一行里,lock_inventory 是键,true 是值。
列表
前面带 - 的项目就是列表。
lore:
- "第一行"
- "第二行"
布尔值
只有两种取值的开关:true(开)或 false(关)。不要写 是、否、1、0。
范围写法
像 3~8 这样的写法表示"3 到 8 之间随机一个整数",包含两端。写 5~5 或者直接写 5 都表示固定 5。
热重载
改了配置文件之后不用重启服务器,执行 /tsl reload 就能让新配置生效。
本插件的 config.yml 和 location.yml 还支持自动重载:你保存文件的那一刻插件就会自己重新读一遍。
界面相关
布局 / layout
用字符画出界面长什么样。每一行 9 个字符对应游戏界面里的 9 个格子。
layout:
- '#########' # 第一行全是装饰
- ' 1111111 ' # 第二行中间 7 格放奖励
- '#########' # 第三行全是装饰
这里的 # 和 1 不是固定写法,你可以换成任何字符,只要在后面说清楚每个字符代表什么就行。
槽位
界面里的一个格子。上面那个布局一共 3 行 × 9 = 27 个槽位。
装饰图标 / icons
不能拿走的展示物品,通常用玻璃板填充空白位置,让界面好看一点。
奖励槽位
放可以领取的奖励的格子。由 claim.key 指定是哪个字符。
奖励相关
权重 / chance
决定某个奖励出现概率的数字。它不是百分比,是相对值。
比如三个奖励权重分别是 30、50、20,加起来 100,那概率就分别是 30%、50%、20%。如果你把它们改成 3、5、2,概率完全一样,因为比例没变。
物品源
奖励物品从哪来。默认是原版物品,也可以从其他插件的物品库里取,比如 MythicMobs、ItemsAdder 这些。
唯一生成 / unique
设为 true 后,这个奖励在一次开箱中最多出现一次,不会重复。
给予规则 / give
玩家点击奖励后实际拿到什么:
source:拿到物品源里原本的物品display:拿到界面里显示的那个(被你改过名字和描述的)none:什么都拿不到,物品直接消失
脚本相关
Kether
TabooLib 提供的脚本语言,用来写"发生某件事的时候做什么"。
你不需要学完整的 Kether,本插件常用的就几句,比如 tell "文字" 是给玩家发消息。
事件
宝箱流程里的几个关键时刻,你可以在这些时刻插入脚本:
open:玩家打开宝箱的时候close:玩家关闭界面的时候claim:玩家领取一件奖励的时候
动作
插件提供的 Kether 命令,都以 tsl- 开头。比如 tsl-claim 表示一次性领走界面里剩下的所有奖励。
服务端相关
tick
服务器的时间单位,1 秒 = 20 tick,1 tick = 50 毫秒。
配置文件里的时间大部分用毫秒,只有少数地方用 tick,看文档里的标注。
毫秒
千分之一秒。常用换算:
| 你想要的时间 | 填多少毫秒 |
|---|---|
| 1 秒 | 1000 |
| 30 秒 | 30000 |
| 1 分钟 | 60000 |
| 5 分钟 | 300000 |
| 30 分钟 | 1800000 |
| 1 小时 | 3600000 |
| 24 小时 | 86400000 |
NMS
服务端核心的内部代码。插件靠它来实现发包。你只需要知道它跟版本相关,所以插件对服务端版本有要求。
软依赖
可选的前置插件。装了就能用对应功能,不装也不会报错,只是那部分功能不可用。
本插件的所有物品源插件都是软依赖。