# Pathinator

Pathinator 允许你轻松地使用你所站立的方块来创建自定义路径。
例如,如果你站在一个 `OAK_PLANKS` 方块上,并发布一个创建 50 个方块路径的命令,Pathinator 会将你面向的方向上的所有方块替换为 `OAK_PLANKS`,距离 50 个方块。如果你还指定了 `with lights`,Pathinator 还会每 N\* 个方块在路径一侧添加一个光源 (_可配置,默认为 TORCH_)。
_注意:版本 1.4.0 添加了对工具中的 SILK_TOUCH、FORTUNE 和 UNBREAKING 附魔的支持。之前的版本会以好像所有工具都应用了 SILK_TOUCH 一样的方式将方块添加到物品栏中,并且在应用损坏时始终忽略 UNBREAKING。_
## 用法
#### 基础
`path:basic [with lights]` (别名为 `pb`),其中 **\** 是要放置的方块数量,**[with lights]** 是一个可选的布尔值 `true|false`,用于指示每 N\* 个方块放置光源。
例如:`path:basic 25 true` 创建一个 25 个方块长的路径,带有光源,或者 `path:basic 25`,其中 [with lights] 默认为 false,没有光源。
#### 轨道
`path:tracks [with power] [with lights]` (别名为 `pt`),其中 **\** 是要放置的方块数量,**[with power]** 是一个可选的布尔值 `true|false`,用于指示每 N\* 个方块放置一个供电轨道。 **[with lights]** 是另一个可选的布尔值,用于指示每 N\* 个方块放置一个光源。
\* _N 在 `/plugins/Pathinator/config.yml` 中可配置_
#### 自定义
`path:custom [path material] [clearance material]` (别名为 `pc`),其中 **\**、**\** 和 **\** 是必需的,**[path material]** 和 **[clearance material]** 是可选的。 如果未指定 **[path material]**,Pathinator 将检测玩家当前站立的方块模式作为路径。 例如:如果你创建一个 3 个方块宽的路径,Pathinator 将检测玩家下方的方块以及左边和右边各一个方块,并保持相同的模式用于请求的整个距离。
此外,你可以指定用于填充路径上方“空气”空间(clearance material)的材料。 这使得你可以轻松地使用任何材料创建三维结构!
#### 跟随
`path:follow [radius] [path material]` (别名为 `pf`),其中 `[radius]` 是 0 到 5 之间的数字,`[path material]` 是任何固体方块。 注意,你必须运行 `path:follow stop` 来告诉 Pathinator 在你所走的地方停止创建路径。
例如,`path:follow start` 将使用默认半径和当前站立的方块开始跟随。 `path:follow start 2 minecraft:oak_planks` 将创建一条带有橡木板条的宽路径。
跟随命令目前仅在创造模式下有效。
#### 挖掘
`path:dig [distance]` (_别名为 `pd`_),其中 \ 是从你身边到多少个方块的距离。 `path:dig` 不放置任何方块,它只移除它们 (_并在生存模式下添加到了你的物品栏中_)。
`up|down` 会以阶梯式模式向上或向下挖掘,默认清除高度(在 config.yml 中设置)。
`vup|vdown` (垂直向上 | 垂直向下) 会从玩家面前的一个方块开始,笔直向上或向下挖掘。
例如,`path:dig down 20` 将以阶梯式模式挖掘 20 个方块,从玩家面前的方块开始。(向前 1 个方块,向下 1 个方块)
`path:dig vup 20` 将从玩家面前的方块开始直向上挖掘 20 个方块。
## 例子
## 生存模式 vs 创造模式
在 **生存** 模式下,你必须在你的物品栏中拥有足够的材料来放置请求的距离上的方块。 此外,以下选项可以配置:
- **工具耐久度**: 你物品栏中的每个相关工具在放置你请求的距离的每个方块时都会减少 1 点耐久度 (_包括通过山脉雕刻出的空间的空隙_)。 例如,如果你有一把铲子和一把镐,而且你创建一个 10 个方块长的路径,穿过 6 个泥土方块和 4 个石头方块,那么你的铲子将减少 6 点耐久度,你的镐将减少 4 点耐久度。 如果你有相同类型的多个工具,Pathinator 会从耐久度最低的工具中扣除耐久度。
- **需要工具**: 为了清空 (*挖掘*) 方块,你必须在你的物品栏中有合适的工具。 (*例如:铲子来清空泥土,镐来清空石头等...*)
- **保留材料**: 清空 (*挖掘*) 的任何材料都将添加到玩家的物品栏中。
在 **创造** 模式下,你可以放置任意数量的任何类型的方块,无需物品栏限制或工具耐久度损失。
## 配置
服务器加载后,编辑 `/plugins/Pathinator/config.yml` 以调整默认值。
```
clearance:
height: 3
material: AIR
lighting:
interval: 12
stack: [TORCH]
survival:
enabled: true|false
requireTool: true|false
toolDamage: true|false
keepMaterial: true|false
tracks:
powerInterval: 34
```
## 未来更新
- ~~添加创建带轨道路径的选项 `path:tracks ...`~~ (v1.1.0)
- ~~添加自定义路径各个方面(高度、宽度、材料等)的选项 `path:custom ...`~~ (v1.2.0)
- 添加选择跟随自然地形而不是在相同 Y 值上铺设路径的选项。
- 添加 LuckPerms 的权限管理
## 支持
如果你遇到任何问题或有任何疑问,请在 GitHub 上 [打开一个 issue](https://github.com/HideTheMonkey/Pathinator/issues)。