Описание
# Scythe - Auto-Replant, Right-Click-Harvest plugin
[](https://modrinth.com/plugin/scythe)
[](https://discord.gg/qe3YQrbegA)
### Features
* Automatically replant crops after they are harvested
* Right-click to harvest fully grown crops
* Crouch in order to break crops without having to toggle the functionality off
* Configuration options to customize how you'd like the plugin to work on your server
### Commands
* `/scythe toggle`: Toggles the automatic replanting and right-click harvesting feature for the player who executed the
command. This requires the `scythe.toggle` permission.
* `/scythe reload`: Reloads the configuration for the plugin. This requires the `scythe.reload` permission.
### Permissions
* `scythe.use` : Base permission for access to Scythe functionality.
* `scythe.use.harvest` : Allows a player to harvest blocks using scythe functionality
* `scythe.use.replant` : Allows a player to auto-replant crops using scythe functionality
* `scythe.toggle` : Allows the player to toggle the feature for themselves using the /scythe toggle command.
* `scythe.reload` : Allows the player to reload the configuration using the /scythe reload command.
## Config
Note, generated config does not have this many comments lol, this is just for the README/description
```yml
#Scythe
auto-replant:
enabled: true # Should crops automatically be replanted?
require-seeds: false # Should the user be required to have seeds in their inventory? Note: will consume seeds
require-tool: false # Should the user be required to use a specific tool?
delay-ticks: 1 # How long in ticks after breaking the block should it be replanted? (20 ticks per second, without lag)
right-click-harvest:
enabled: true # Should users be able to right-click to harvest blocks?
require-tool: false # Should users be required to use a specific tool?
#Only applies if "require-tool" is true in any of the above categories
tools:
enabled-tools: # If users are required to use a specific tool, which tools are valid?
- "minecraft:wooden_hoe"
- "minecraft:stone_hoe"
- "minecraft:iron_hoe"
- "minecraft:golden_hoe"
- "minecraft:diamond_hoe"
- "minecraft:netherite_hoe"
# Item models should be declared like "namespace:id"
required-item-models: [ ] # Do you have any specific item models you're using on tools that make them look different? If so, declare them here
# Note: In vanilla, harvesting normally crops does NOT use durability.
# This will cause the tool to lose durability on right-click harvest ONLY
durability:
harvest-uses-durability: false # Should right-click-harvest make tool durability go down?
replant-uses-durability: false # Should auto-replant make tool durability go down?
prevent-tool-break: true # If either of the two above are set to 'true', do you want to prevent the plugin from working if a tool is low on durability, to prevent users from accidentally breaking their tools?
minimum-durability: 10 # If the above is set to true, how low should durability be when the plugin stops working?
# Please choose a sound from this list: https://jd.papermc.io/paper/1.21.4/org/bukkit/Sound.html
sounds:
enabled: true # Should sounds be played when a user breaks or auto-replants a crop?
break-sound: BLOCK_CROP_BREAK # Which sound should be played when a crop is broken?
plant-sound: ITEM_CROP_PLANT # Which sound should be played when a crop is replanted?
# between 0 and 2
volume: 1.0 # How loud should it be?
# between 0 and 2
pitch: 1.0 # How high-pitched should it be?
# Please choose a particle from this list: https://jd.papermc.io/paper/1.20/org/bukkit/Particle.html
particles:
harvest:
enabled: true # Should particles show when a user right-click-harvests a block?
particle: BLOCK # Which particle should show?
count: 40 # How many particles should spawn? This will wildly depend on the selected particle
# how far from the center particles should go, in blocks
spread: 0.5
replant:
enabled: true # Should particles show when a block is auto-replanted?
particle: HAPPY_VILLAGER # Which particle should show?
count: 2 # How many particles should spawn? This will wildly depend on the selected particle
spread: 0.5 # how far from the center should particles go, in blocks
# Crops the plugin should work on, list of materials is here: https://jd.papermc.io/paper/1.21.4/org/bukkit/Material.html
# Note, the material must have the BlockData of 'Ageable' - note, most other ageable blocks in the list don't work as intended.
allowed-crops:
- BEETROOTS
- CARROTS
- COCOA
- NETHER_WART
- POTATOES
- WHEAT
# - PUMPKIN_STEM
# - MELON_STEM
```
## API
### HarvestEvent - Cancellable
| Method | Returns | Description |
|-------------------------|---------------|-----------------------------------------------|
| `getPlayer()` | `Player` | Returns the player who triggered the harvest. |
| `getBlock()` | `Block` | Returns the crop block being harvested. |
| `isCancelled()` | `boolean` | Checks if the event is cancelled. |
| `setPlayer(Player)` | `void` | Updates the player associated with the event. |
| `setBlock(Block)` | `void` | Updates the block involved in the event. |
| `setCancelled(boolean)` | `void` | Cancels or un-cancels the event. |
| `getHandlers()` | `HandlerList` | Bukkit-required handler method. |
| `getHandlerList()` | `HandlerList` | Bukkit-required static handler method. |
### ReplantEvent - Cancellable
| Method | Returns | Description |
|---------------------------|---------------|-------------------------------------------------------------|
| `getPlayer()` | `Player` | Returns the player who triggered the replanting. |
| `getBlock()` | `Block` | Returns the block being replanted. |
| `getBlockData()` | `BlockData` | Returns the BlockData being applied to the replanted block. |
| `isCancelled()` | `boolean` | Checks if the event is cancelled. |
| `setPlayer(Player)` | `void` | Updates the player associated with the event. |
| `setBlock(Block)` | `void` | Updates the block involved in the event. |
| `setBlockData(BlockData)` | `void` | Updates the BlockData for the replanted block. |
| `setCancelled(boolean)` | `void` | Cancels or un-cancels the event. |
| `getHandlers()` | `HandlerList` | Bukkit-required handler method. |
| `getHandlerList()` | `HandlerList` | Bukkit-required static handler method. |
### 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'
}
```
### Support
If you need any help with the Scythe plugin, please open an issue on the GitHub repository or join
our [Discord server](https://discord.gg/qe3YQrbegA) for support.