裂隙
裂隙没有数据包定义。 没有 JSON 要写,也没有 id 要注册——整套东西由方块、每一格自己存的数据、锚定物品上的物品组件与 /mxt rift 命令驱动。下面全部靠放置与命令搭出来。
你要搭建什么
一组能走进去的裂隙:一格或几格 mxt:rift 方块,每格自己记着通往哪个维度,需要的话再给个颜色。没有界面,也没有文件要写。
| 组成 | 作用 |
|---|---|
mxt:rift | 裂隙本体,有对应的方块物品,可以像普通方块一样摆。每一格自己存着「通往哪个维度」与颜色。 |
mxt:rift_anchor | 锚定物品,只改已有的裂隙。永远不会放置裂隙。 |
/mxt rift | 摆放、查看与改写单格裂隙的管理员入口。 |
| 粒子与渲染 | 观感部分,只由客户端配置调。 |
第 1 步 —— 摆放裂隙
三种方式,摆出来的都是同一个方块:
| 方式 | 说明 |
|---|---|
/setblock <坐标> mxt:rift | 原版命令,直接占住那一格。 |
创造模式放置 mxt:rift | 拿方块物品像普通方块一样摆。 |
/mxt rift place <坐标> <维度> | 摆的同时把目标维度写进去;位置不可替换时会被拒绝。 |
前两种摆出来的裂隙一律通往主世界、颜色自动。想指到别处必须另外设置,见第 3 步。
摆之前先想好位置:生存模式挖不动裂隙(破坏耗时 -1),它抗爆极高,创造模式破坏也不掉落。
第 2 步 —— 形状由位置决定
形状不是参数,相邻与否只看位置:与另一格在任一轴相差不超过 1 就算相邻,所以对角、上下层都算。
| 摆法 | 结果 |
|---|---|
| 单独一格 | 成立,画成一个点。 |
| 摆进 3×3×3 里 | 相邻的两格之间连出线。 |
| 三格两两相邻 | 连出一个填充三角形。 |
未加载的区块会被跳过:远处那片还没加载的裂隙此刻不算邻居,也不会画出来。
第 3 步 —— 给每一格指定目标维度
每一格裂隙自己存一个「通往哪个维度」,不是两两配对。 连线只说明两格位置相邻,跟它们各自通往哪里没有关系,改一格也不影响邻居。
/mxt rift target <坐标> <维度> 改的是一格通往的维度,补全会列出服务端所有维度。
要改很多格就用锚定物品:主手拿着 mxt:rift_anchor,右键的对象决定发生什么。
| 右键的对象 | 结果 |
|---|---|
| 裂隙 | 把物品里存的维度与颜色套到这一格上。 |
| 非裂隙方块,且潜行 | 把「当前所在的维度」记进物品。 |
| 非裂隙方块,且不潜行 | 什么都不做:不消耗、不提示。 |
/mxt rift bind <维度> [颜色] 与潜行那一条等价,区别是它可以直接写任意维度与颜色;主手没拿锚定物品时它只会提示一句。
锚定物品不会放置裂隙,它只改已经存在的那一格。
第 4 步 —— 颜色
- 自动(
auto)是默认:按目标维度算出来的固定颜色,所以同一维度的自动颜色永远一样,不同维度不同色。 /mxt rift color <坐标> <auto|RRGGBB|#RRGGBB>手写一个颜色,或写auto回到自动。非法值会被拒绝。- 拿染料右键裂隙:读原版的染料组件,会消耗一个;创造模式不消耗。
颜色只改观感,不改变它通往哪里。
第 5 步 —— 走进去
- 实体进入方块所在的位置就触发,不需要配套第二格。
- 跨维度的唯一硬要求是目标维度已经加载。 没加载就不传送,不会为了传送去把世界打开。同维度也走同一条路,一样会传。
- 落点是目标维度里按世界缩放比例换算出来的坐标,并夹在世界边界内。不是「从哪进就从哪出」。
- 到达点附近会找一格「通往来路」的裂隙当回程地标,找不到就自动生成一个(通往你来的那个维度、颜色自动)。回程裂隙的选址要能站人——无碰撞、无流体、下方有支撑——不行就往上试几格。
- 到达时给你一段缓降保护,另外有一小段传送冷却,免得立刻被再传回去。
第 6 步 —— 检查与外观
/mxt rift info <坐标> 是主要手段:只读,五行——位置、通往哪个维度、颜色(自动还是手动)、连线数 / 三角形数 / 连成一片的格数、是否孤立。
客户端配置的「裂隙」页有两项纯观感,不影响连通与传送:
| 条目 | 作用 |
|---|---|
| 自定义着色器 | 关掉后改用普通半透明颜色,是着色器或驱动不兼容时的退路。 |
| 裂隙粗细 | 点、线、填充共用的粗细;有上下限,超出会被夹住。 |
在游戏里验证
text
/mxt rift info <坐标>
/mxt rift target <坐标> <维度>
/mxt rift color <坐标> auto
/mxt rift place <坐标> <维度>
/mxt rift bind <维度>info会打印五行;那个位置没有裂隙时,它会直接说没有,而不是打印一份空信息。- 整棵
/mxt rift子树都需要管理员权限,连只看信息的info也要;它无法用服务端配置关掉。 - 摆两格相邻的裂隙再
info,连线数就不再是 0;把三格摆成两两相邻,三角形数也会从 0 往上涨。 - 站进那一格里应该被送走,到达后对面附近会有一格通往来路的裂隙。目标维度没加载是唯一会拦下跨维度传送的条件。
- 测试包里备了探针(
/mxt_test rift)。
常见错误
| 现象 | 原因 |
|---|---|
| 不传送 | 目标维度没加载;正在传送冷却中;或者根本没走到那一格里。 |
| 传错地方 | 手放的裂隙默认通主世界,忘了设置目标。 |
| 落点不是原坐标 | 落点是缩放换算出来的,不是原路返回。 |
| 颜色看起来随机 | auto 是按目标维度算的固定色,不同维度不同色,这是正常的。 |
| 摆不出连线或三角形 | 位置不在 3×3×3 内,或者三格不够两两相邻。 |
| 锚定物品没反应 | 主手不是它;或者对着非裂隙方块还没潜行。 |