跳到主要内容

名词解释

这一页把后面会反复出现的词都解释清楚。不用背,看不懂的时候回来查就行。

插件相关​

虚拟方块 / 发包方块​

服务器骗客户端"这里有个方块",但世界存档里其实没有。玩家看得见、能右键,但挖不走,重进游戏或者走远再走近,它的显示都由插件重新控制。

本插件的所有宝箱都是虚拟方块。

发包​

"发送数据包"的简称。服务器和客户端之间靠数据包通信,插件通过发送特制的数据包让客户端显示出并不存在的箱子。

你不需要理解它的原理,只需要知道:宝箱是发包做出来的,所以它不影响你的地图。

宝箱 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 "没钥匙"

三条必须遵守的规则:

  1. 只能用空格缩进,不能按 Tab 键
  2. 同一层的项目缩进必须一样多
  3. 冒号后面要有一个空格,写 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​

服务端核心的内部代码。插件靠它来实现发包。你只需要知道它跟版本相关,所以插件对服务端版本有要求。

软依赖​

可选的前置插件。装了就能用对应功能,不装也不会报错,只是那部分功能不可用。

本插件的所有物品源插件都是软依赖。