# Scythe - Auto-Replant, Right-Click-Harvest 插件
[](https://modrinth.com/plugin/scythe)
[](https://discord.gg/qe3YQrbegA)
### 功能
* 自动在收割后重新种植作物
* 右键点击收割完全成熟的作物
* 按住潜行键打破作物,无需禁用此功能
* 配置选项,以自定义插件在您的服务器上的运行方式
### 指令
* `/scythe toggle`: 切换自动重新种植和右键点击收割功能,适用于执行命令的玩家。此操作需要 `scythe.toggle` 权限。
* `/scythe reload`: 重新加载插件的配置。此操作需要 `scythe.reload` 权限。
### 权限
* `scythe.use`: 访问 Scythe 功能的基本权限。
* `scythe.use.harvest`: 允许玩家使用 Scythe 功能收割方块
* `scythe.use.replant`: 允许玩家使用 Scythe 功能自动重新种植作物
* `scythe.toggle`: 允许玩家使用 `/scythe toggle` 命令为自己切换此功能。
* `scythe.reload`: 允许玩家使用 `/scythe reload` 命令重新加载配置。
## 配置
注意,生成的配置没有这么多注释,这只是用于 README/描述
```yml
#Scythe
auto-replant:
enabled: true # 是否自动重新种植作物?
require-seeds: false # 是否需要用户在他们的物品栏中拥有种子?注意:会消耗种子
require-tool: false # 是否需要用户使用特定的工具?
delay-ticks: 1 # 在破坏方块后多久(以刻为单位)重新种植? (每秒 20 刻,无滞后)
right-click-harvest:
enabled: true # 是否允许用户右键点击收割方块?
require-tool: false # 是否需要用户使用特定的工具?
# 以下仅在任何一个类目中 "require-tool" 设置为 true 时有效
tools:
enabled-tools: # 如果需要用户使用特定的工具,哪些工具有效?
- "minecraft:wooden_hoe"
- "minecraft:stone_hoe"
- "minecraft:iron_hoe"
- "minecraft:golden_hoe"
- "minecraft:diamond_hoe"
- "minecraft:netherite_hoe"
# 物品模型应声明为 "命名空间:ID"
required-item-models: [ ] # 您使用的工具是否存在任何特定的物品模型,使其看起来不同? 如果是,请在此处声明。
# 注意:在原版游戏中,正常收割作物不会消耗耐久度。
# 这将导致右键点击收割时工具耐久度降低
durability:
harvest-uses-durability: false # 右键点击收割是否会减少工具耐久度?
replant-uses-durability: false # 自动重新种植是否会减少工具耐久度?
prevent-tool-break: true # 如果上述两个都设置为 'true',您是否希望防止插件在工具耐久度低时起作用,以防止用户意外损坏他们的工具?
minimum-durability: 10 # 如果上述设置为 true,工具的耐久度应该降至多少时插件才停止工作?
# 请从此列表中选择一个声音: https://jd.papermc.io/paper/1.21.4/org/bukkit/Sound.html
sounds:
enabled: true # 用户打破或自动重新种植作物时是否播放声音?
break-sound: BLOCK_CROP_BREAK # 当作物被打破时播放哪个声音?
plant-sound: ITEM_CROP_PLANT # 当作物被重新种植时播放哪个声音?
# 介于 0 和 2 之间
volume: 1.0 # 音量大小?
# 介于 0 和 2 之间
pitch: 1.0 # 音调高低?
# 请从此列表中选择一个粒子: https://jd.papermc.io/paper/1.20/org/bukkit/Particle.html
particles:
harvest:
enabled: true # 用户右键点击收割方块时是否显示粒子?
particle: BLOCK # 显示哪个粒子?
count: 40 # 应该生成多少粒子?这将严重依赖于所选粒子
# 粒子离中心的距离,以方块为单位
spread: 0.5
replant:
enabled: true # 自动重新种植方块时是否显示粒子?
particle: HAPPY_VILLAGER # 显示哪个粒子?
count: 2 # 应该生成多少粒子?这将严重依赖于所选粒子
spread: 0.5 # 粒子离中心应该多远,以方块为单位
# 插件应作用的作物,材料列表在此: https://jd.papermc.io/paper/1.21.4/org/bukkit/Material.html
# 注意,该材料必须具有 'Ageable' 的 BlockData - 注意,列表中的大多数其他可衰减方块用作预期效果。
allowed-crops:
- BEETROOTS
- CARROTS
- COCOA
- NETHER_WART
- POTATOES
- WHEAT
# - PUMPKIN_STEM
# - MELON_STEM
```
## API
### HarvestEvent - 可取消
| 方法 | 返回值 | 描述 |
|-------------------------|---------------|----------------------------------------|
| `getPlayer()` | `Player` | 返回触发收割的玩家。 |
| `getBlock()` | `Block` | 返回被收割的作物方块。 |
| `isCancelled()` | `boolean` | 检查事件是否被取消。 |
| `setPlayer(Player)` | `void` | 更新与事件关联的玩家。 |
| `setBlock(Block)` | `void` | 更新事件涉及的方块。 |
| `setCancelled(boolean)` | `void` | 取消或取消事件。 |
| `getHandlers()` | `HandlerList` | Bukkit 必需的处理程序方法。 |
| `getHandlerList()` | `HandlerList` | Bukkit 必需的静态处理程序方法。 |
### ReplantEvent - 可取消
| 方法 | 返回值 | 描述 |
|---------------------------|---------------|-------------------------------------------------------|
| `getPlayer()` | `Player` | 返回触发重新种植的玩家。 |
| `getBlock()` | `Block` | 返回被重新种植的方块。 |
| `getBlockData()` | `BlockData` | 返回应用于重新种植方块的 BlockData。 |
| `isCancelled()` | `boolean` | 检查事件是否被取消。 |
| `setPlayer(Player)` | `void` | 更新与事件关联的玩家。 |
| `setBlock(Block)` | `void` | 更新事件涉及的方块。 |
| `setBlockData(BlockData)` | `void` | 更新重新种植方块的 BlockData。 |
| `setCancelled(boolean)` | `void` | 取消或取消事件。 |
| `getHandlers()` | `HandlerList` | Bukkit 必需的处理程序方法。 |
| `getHandlerList()` | `HandlerList` | Bukkit 必需的静态处理程序方法。 |
### Maven
```xml
modrinth-repo
https://api.modrinth.com/maven/
maven.modrinth
scythe
4.0
provided
```
### Gradle
```gradle
exclusiveContent {
forRepository { maven { url = "https://api.modrinth.com/maven" } }
filter { includeGroup "maven.modrinth" }
}
dependencies {
compileOnly 'maven.modrinth:scythe:4.0'
}
```
### 支持
如果您需要任何帮助,请在 GitHub 仓库中打开问题或加入我们的[Discord 服务器](https://discord.gg/qe3YQrbegA)寻求支持。