- 版权类型
- 原创
- 插件中文名称
- 涡轮连锁
- 插件英文名称
- WoChainMine
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- Folia
- Purpur
- 语言支持
- 中文(简体)
- 前置组件
- 无必要前置
- 适配版本(Java)
- 26.x
- 1.21
# WoChainMine · 涡轮连锁
全配置化的 Minecraft 连锁采集 / 作物收割插件。支持 **Paper / Purpur / Spigot / Folia**,
适配 **Minecraft 1.21 ~ 26.x**。无硬依赖,装上即用。
- 版本:1.2.2
- 作者:LittleWo
- 主命令:`/chainm`(别名 `/chainmine`、`/wcm`)
> **当前发布版本 · v1.2.2**(2026-10-11)
>
> 本版更新:新增 **原版经验掉落、粒子反馈、连锁冷却、管理命令、配置自动升级**,
>
> 并修复「挖矿看不见方块裂纹」「禁用世界误提示」等问题。
---
## 一、核心特点
| 特性 | 说明 |
| -------- | --------------------------------------------------------------------- |
| 全配置化 | 工具组、可连锁方块、GUI 布局、全部都在 `config.yml` |
| 标签支持 | 方块可以写 `#minecraft:logs` 这类原版标签,一次覆盖一整类 |
| 作物连锁收割 | 锄头右键 / 破坏成熟作物,一键收一片田,可自动补种 |
| 连锁发光预览 | 潜行时给将要连锁的方块描一圈发光轮廓,只对本人可见;预览实体缩在方块内部,不遮挡挖掘裂纹 |
| 领地保护 | 内置 Residence / WorldGuard 判定,杜绝「站领地外连锁别人家」 |
| 性能可控 | 双重闸门(每 tick 格数 + 每 tick 毫秒预算),大矿脉也不会造成 TPS 抖动 |
| 玩家级GUI开关 | 总开关 / 每个工具组 / 作物收割 / 预览,四个维度都可由玩家自己开关 |
| 经验掉落 | 连锁挖矿会补发原版经验(煤 / 红石 / 青金石 / 钻石 / 绿宝石 / 下界石英 / 下界金 / 幽匿系列),数值抄原版,表可自定义 |
| 粒子反馈 | 每挖掉 / 收割一格都在原位撒粒子,类型与数量可配,只发给发起者本人 |
| 连锁冷却 | `cooldown-ms` 限制连点间隔,防刷屏 / 防刷耐久;冷却期间不会亮连锁预览,避免误解 |
| 管理命令 | `/chainm admin status\|on\|off <玩家>` 查看或强制开关任意玩家的连锁 |
---
## 二、安装
1. 把 `WoChainMine-x.x.x.jar` 放进服务端的 `plugins/` 目录。
2. 启动服务器,生成 `plugins/WoChainMine/config.yml`。
3. 按需编辑配置,执行 `/chainm reload` 或重启。
**从旧版本升级**
直接用新 jar 替换即可,**不要删掉自己的 config.yml**,插件启动时会自动把老配置补齐到新版本。
**要求**
- 服务端核心:Paper / Purpur / Spigot / Folia 任选
- Minecraft:1.21 ~ 26.3
- Java:21 及以上
**可选依赖**(不装也能正常运行)
| 插件 | 作用 |
| -------------- | ----------------------- |
| PlaceholderAPI | 提供 `%wochainmine_*%` 变量 |
| Residence | 连锁时的领地保护判定 |
| WorldGuard | 连锁时的区域保护判定 |
---
## 三、怎么用
玩家需要 **潜行** 才能触发连锁(`require-sneak: false` 可关掉)。
- **挖矿**:手持对应工具(镐 / 斧 / 铲 / 锄),潜行,破坏一个可连锁方块 → 整条矿脉/整棵树一起掉。
- **收菜**:手持锄头,右键(或直接破坏)成熟作物 → 一片成熟的同种作物一起收,默认自动补种。
- **看预览**:潜行并看向可连锁方块,会高亮出即将连锁的范围。
- **开面板**:`/chainm`。
---
## 四、命令与权限
### 命令
| 命令 | 说明 |
| ---------------------------- | --------------------- |
| `/chainm` | 打开连锁管理面板 |
| `/chainm list` | 查看所有工具组与作物收割的开关状态 |
| `/chainm status` | 查看自己的各项开关 |
| `/chainm on` / `/chainm off` | 打开 / 关闭连锁总开关 |
| `/chainm toggle <组名>` | 切换某个工具组 |
| `/chainm toggle crops` | 切换作物连锁收割 |
| `/chainm toggle preview` | 切换连锁预览 |
| `/chainm reload` | 重载配置文件(需管理员权限) |
| `/chainm admin status <玩家>` | 查看指定玩家的所有开关状态(需管理员权限) |
| `/chainm admin on <玩家>` | 强制开启指定玩家的连锁总开关 |
| `/chainm admin off <玩家>` | 强制关闭指定玩家的连锁总开关 |
### 权限
| 权限 | 说明 |
| ------------------------------- | ---------------------------------------------------------- |
| `wochainmine.use` | 允许使用连锁采集与作物收割 |
| `wochainmine.admin` | 允许 `/chainm reload` 与 `/chainm admin status\|on\|off <玩家>` |
| `wochainmine.preview` | 允许使用连锁预览(预留) |
| `wochainmine.bypass.durability` | 连锁时不消耗工具耐久 |
| `wochainmine.bypass.protection` | 连锁时无视领地 / 区域保护(危险) |
工具组还可以单独设权限:在工具组里写 `permission: "某权限节点"`,没这个权限的玩家就用不了该组(留空表示不检查)。
---
## 五、配置速览
完整注释都在 `config.yml` 里。
```yaml
enabled: true # 功能总开关
require-sneak: true # 是否必须潜行
auto-collect: true # 掉落是否直接进背包
max-chain: 64 # 全局连锁上限
durability-protect: 2 # 工具剩余耐久 ≤ 该值就停(0 = 不保护)
cooldown-ms: 0 # 两次连锁的最小间隔,0 = 不限制
performance: # 双重闸门
max-blocks-per-tick: 16
time-budget-ms: 5
worlds: # 生效范围
mode: BLACKLIST
disabled-worlds: []
allowed-worlds: []
disabled-gamemodes: []
protection: # 领地保护
residence: true
worldguard: true
preview: # 连锁预览
mode: auto # auto | glow | damage | off
range: 6.0
scan-interval: 10
max-blocks: 64
glow-inset: 0.01 # 发光预览实体缩进方块内部的比例(0~0.4),防止挡住挖掘裂纹
crop-harvest: # ★ 作物连锁收割
enabled: true
triggers: [RIGHT_CLICK, BREAK]
radius: 3
max-blocks: 64 # 作物只有这一个上限
replant: true
tools: [WOODEN_HOE, ...]
blocks: [WHEAT, CARROTS, POTATOES, BEETROOTS, NETHER_WART]
exp-drops: # ★ 连锁挖矿补发的经验(表里没列的方块不给,与原版一致)
enabled: true
mode: player # player(直接给玩家)| orb(生成经验球)
table:
DIAMOND_ORE: "3-7"
NETHER_GOLD_ORE: "0-1"
SCULK: "1"
…
feedback: # ★ 粒子反馈
particles:
enabled: true
type: BLOCK # BLOCK = 方块碎裂粒子;也可填 CRIT / HAPPY_VILLAGER 等
count: 4
tool-groups: # ★ 工具组,整段可任意增删
pickaxe: { ... }
axe: { ... }
shovel: { ... }
hoe: { ... }
gui: { ... } # 面板标题 / 行数 / 槽位 / 按钮 / 文案
messages: { ... } # 全部提示文案
```
### 增删一个工具组
在 `tool-groups` 下修改:
```yaml
tool-groups:
# 例:剪刀剪树叶
shear:
enabled: true
display-name: "&d剪刀组"
description: "&7树叶连锁修剪"
icon: SHEARS
tools: [SHEARS]
blocks:
- "#minecraft:leaves" # 标签写法,一次覆盖所有树叶
max-chain: 32 # 本组专属上限,0 = 用全局
permission: "" # 留空 = 不检查权限
```
加完 `/chainm reload` 即可。GUI 会自动多出一个按钮(需要 `gui.group-slots` 里还有空槽位)。
### 增删可连锁方块
直接改对应工具组的 `blocks` 列表:
```yaml
blocks:
- DIAMOND_ORE
- "#minecraft:iron_ores"
- "#minecraft:copper_ores"
```
---
## 六、跨平台兼容说明
| 能力 | Paper / Purpur / Folia | Spigot |
| -------------------------------- | ---------------------- | ------- |
| 连锁采集 / 作物收割 |
|
|
| 领地保护(Residence / WorldGuard) |
|
|
| 传统 `&` 颜色代码 |
|
|
| MiniMessage(`<red>`、`<#ff8800>`) |
|
会原样显示 |
| 预览 · 发光描边(`glow`) |
|
|
| 预览 · 方块裂纹(开发中)(`damage`) |
|
|
---
## 七、常见问题
**Q:潜行挖矿没反应?**
按顺序排查:`enabled` 是否为 true → 玩家是否有 `wochainmine.use` → 是否在 `disabled-worlds` 里 →
玩家是否用 `/chainm` 关掉了总开关或该工具组 → 手持工具是否在该工具组的 `tools` 里 →
该方块是否在 `blocks` 里。
**Q:站在领地边上会连锁到别人的地吗?**
不会。插件会做领地判定:只要连通范围里**有任何一格**属于你无权破坏的领地,整次连锁就会取消(玩家手挖的那一格照常掉落)。
装了 Residence 或 WorldGuard 就自动生效,两者都没装则跳过判定。
**Q:连锁会不会把服务器卡崩?**
不会。连锁是分批的:每 tick 最多 `max-blocks-per-tick` 格,且不超过 `time-budget-ms` 毫秒。
想更保守就把这两个值调小。
**Q:工具快坏了会一直连锁到爆掉吗?**
不会。`durability-protect`(默认 2)表示工具剩余耐久 ≤ 该值时连锁立即停止。
检查发生在三个位置:连锁启动前、每一格处理前、整条连锁结束时。想完全不管耐久就设 `0`。
---
## 八、更新日志
### v1.2.2 · 2026-10-11
**新增功能**
- **经验掉落**:连锁挖矿补发原版经验(煤 / 红石 / 青金石 / 钻石 / 绿宝石 / 下界石英 / 下界金 / 幽匿系列),
数值照抄原版;`exp-drops.table` 可自定义,`mode` 可选直接给玩家或生成经验球。
- **粒子反馈**:每挖掉 / 收割一格都在原位撒粒子,类型与数量可配,只发给发起者本人。
- **`cooldown-ms`**:限制连点间隔,防刷屏 / 防刷耐久;冷却期间不会亮连锁预览。
- **管理命令** `/chainm admin status|on|off <玩家>`:查看或强制开关任意玩家的连锁。
- **`config.yml` 自动升级**:换 jar 升级时自动把新增配置项(连同模板里的说明注释)补进你的配置文件,
只加不减、改前先备份成 `config.yml.v<旧版本>.bak`,你已经写下的每一行、每个取值都不动。
不想写回文件的话把 `auto-update-config` 改成 `false`(新增项仍按内置默认值生效)。
- 配置 `preview.glow-inset`(默认 `0.01`,范围 0~0.4):预览实体内缩多少格,见下面「修复」第一条。
**修复与改进**
- **挖矿时看不到方块裂纹**:现在实体改为**整体缩进方块内部**,方块表面重新交还原版渲染:**裂纹正常显示**;方块边缘的高亮照旧。
- **禁用世界 / 无权限时的误提示**:现在只有**真的要连锁**时才判环境限制并发送提示。
### v1.0.1 · 2026-10-10
- 接入 [bStats](https://bstats.org) 匿名统计。
### v1.0.0 · 2026-10-08
- 首个公开版本。
---
## 九、联系作者
有问题或建议可反馈到作者邮箱 <block409@foxmail.com>
全配置化的 Minecraft 连锁采集 / 作物收割插件。支持 **Paper / Purpur / Spigot / Folia**,
适配 **Minecraft 1.21 ~ 26.x**。无硬依赖,装上即用。
- 版本:1.2.2
- 作者:LittleWo
- 主命令:`/chainm`(别名 `/chainmine`、`/wcm`)
> **当前发布版本 · v1.2.2**(2026-10-11)
>
> 本版更新:新增 **原版经验掉落、粒子反馈、连锁冷却、管理命令、配置自动升级**,
>
> 并修复「挖矿看不见方块裂纹」「禁用世界误提示」等问题。
---
## 一、核心特点
| 特性 | 说明 |
| -------- | --------------------------------------------------------------------- |
| 全配置化 | 工具组、可连锁方块、GUI 布局、全部都在 `config.yml` |
| 标签支持 | 方块可以写 `#minecraft:logs` 这类原版标签,一次覆盖一整类 |
| 作物连锁收割 | 锄头右键 / 破坏成熟作物,一键收一片田,可自动补种 |
| 连锁发光预览 | 潜行时给将要连锁的方块描一圈发光轮廓,只对本人可见;预览实体缩在方块内部,不遮挡挖掘裂纹 |
| 领地保护 | 内置 Residence / WorldGuard 判定,杜绝「站领地外连锁别人家」 |
| 性能可控 | 双重闸门(每 tick 格数 + 每 tick 毫秒预算),大矿脉也不会造成 TPS 抖动 |
| 玩家级GUI开关 | 总开关 / 每个工具组 / 作物收割 / 预览,四个维度都可由玩家自己开关 |
| 经验掉落 | 连锁挖矿会补发原版经验(煤 / 红石 / 青金石 / 钻石 / 绿宝石 / 下界石英 / 下界金 / 幽匿系列),数值抄原版,表可自定义 |
| 粒子反馈 | 每挖掉 / 收割一格都在原位撒粒子,类型与数量可配,只发给发起者本人 |
| 连锁冷却 | `cooldown-ms` 限制连点间隔,防刷屏 / 防刷耐久;冷却期间不会亮连锁预览,避免误解 |
| 管理命令 | `/chainm admin status\|on\|off <玩家>` 查看或强制开关任意玩家的连锁 |
---
## 二、安装
1. 把 `WoChainMine-x.x.x.jar` 放进服务端的 `plugins/` 目录。
2. 启动服务器,生成 `plugins/WoChainMine/config.yml`。
3. 按需编辑配置,执行 `/chainm reload` 或重启。
**从旧版本升级**
直接用新 jar 替换即可,**不要删掉自己的 config.yml**,插件启动时会自动把老配置补齐到新版本。
**要求**
- 服务端核心:Paper / Purpur / Spigot / Folia 任选
- Minecraft:1.21 ~ 26.3
- Java:21 及以上
**可选依赖**(不装也能正常运行)
| 插件 | 作用 |
| -------------- | ----------------------- |
| PlaceholderAPI | 提供 `%wochainmine_*%` 变量 |
| Residence | 连锁时的领地保护判定 |
| WorldGuard | 连锁时的区域保护判定 |
---
## 三、怎么用
玩家需要 **潜行** 才能触发连锁(`require-sneak: false` 可关掉)。
- **挖矿**:手持对应工具(镐 / 斧 / 铲 / 锄),潜行,破坏一个可连锁方块 → 整条矿脉/整棵树一起掉。
- **收菜**:手持锄头,右键(或直接破坏)成熟作物 → 一片成熟的同种作物一起收,默认自动补种。
- **看预览**:潜行并看向可连锁方块,会高亮出即将连锁的范围。
- **开面板**:`/chainm`。
---
## 四、命令与权限
### 命令
| 命令 | 说明 |
| ---------------------------- | --------------------- |
| `/chainm` | 打开连锁管理面板 |
| `/chainm list` | 查看所有工具组与作物收割的开关状态 |
| `/chainm status` | 查看自己的各项开关 |
| `/chainm on` / `/chainm off` | 打开 / 关闭连锁总开关 |
| `/chainm toggle <组名>` | 切换某个工具组 |
| `/chainm toggle crops` | 切换作物连锁收割 |
| `/chainm toggle preview` | 切换连锁预览 |
| `/chainm reload` | 重载配置文件(需管理员权限) |
| `/chainm admin status <玩家>` | 查看指定玩家的所有开关状态(需管理员权限) |
| `/chainm admin on <玩家>` | 强制开启指定玩家的连锁总开关 |
| `/chainm admin off <玩家>` | 强制关闭指定玩家的连锁总开关 |
### 权限
| 权限 | 说明 |
| ------------------------------- | ---------------------------------------------------------- |
| `wochainmine.use` | 允许使用连锁采集与作物收割 |
| `wochainmine.admin` | 允许 `/chainm reload` 与 `/chainm admin status\|on\|off <玩家>` |
| `wochainmine.preview` | 允许使用连锁预览(预留) |
| `wochainmine.bypass.durability` | 连锁时不消耗工具耐久 |
| `wochainmine.bypass.protection` | 连锁时无视领地 / 区域保护(危险) |
工具组还可以单独设权限:在工具组里写 `permission: "某权限节点"`,没这个权限的玩家就用不了该组(留空表示不检查)。
---
## 五、配置速览
完整注释都在 `config.yml` 里。
```yaml
enabled: true # 功能总开关
require-sneak: true # 是否必须潜行
auto-collect: true # 掉落是否直接进背包
max-chain: 64 # 全局连锁上限
durability-protect: 2 # 工具剩余耐久 ≤ 该值就停(0 = 不保护)
cooldown-ms: 0 # 两次连锁的最小间隔,0 = 不限制
performance: # 双重闸门
max-blocks-per-tick: 16
time-budget-ms: 5
worlds: # 生效范围
mode: BLACKLIST
disabled-worlds: []
allowed-worlds: []
disabled-gamemodes: []
protection: # 领地保护
residence: true
worldguard: true
preview: # 连锁预览
mode: auto # auto | glow | damage | off
range: 6.0
scan-interval: 10
max-blocks: 64
glow-inset: 0.01 # 发光预览实体缩进方块内部的比例(0~0.4),防止挡住挖掘裂纹
crop-harvest: # ★ 作物连锁收割
enabled: true
triggers: [RIGHT_CLICK, BREAK]
radius: 3
max-blocks: 64 # 作物只有这一个上限
replant: true
tools: [WOODEN_HOE, ...]
blocks: [WHEAT, CARROTS, POTATOES, BEETROOTS, NETHER_WART]
exp-drops: # ★ 连锁挖矿补发的经验(表里没列的方块不给,与原版一致)
enabled: true
mode: player # player(直接给玩家)| orb(生成经验球)
table:
DIAMOND_ORE: "3-7"
NETHER_GOLD_ORE: "0-1"
SCULK: "1"
…
feedback: # ★ 粒子反馈
particles:
enabled: true
type: BLOCK # BLOCK = 方块碎裂粒子;也可填 CRIT / HAPPY_VILLAGER 等
count: 4
tool-groups: # ★ 工具组,整段可任意增删
pickaxe: { ... }
axe: { ... }
shovel: { ... }
hoe: { ... }
gui: { ... } # 面板标题 / 行数 / 槽位 / 按钮 / 文案
messages: { ... } # 全部提示文案
```
### 增删一个工具组
在 `tool-groups` 下修改:
```yaml
tool-groups:
# 例:剪刀剪树叶
shear:
enabled: true
display-name: "&d剪刀组"
description: "&7树叶连锁修剪"
icon: SHEARS
tools: [SHEARS]
blocks:
- "#minecraft:leaves" # 标签写法,一次覆盖所有树叶
max-chain: 32 # 本组专属上限,0 = 用全局
permission: "" # 留空 = 不检查权限
```
加完 `/chainm reload` 即可。GUI 会自动多出一个按钮(需要 `gui.group-slots` 里还有空槽位)。
### 增删可连锁方块
直接改对应工具组的 `blocks` 列表:
```yaml
blocks:
- DIAMOND_ORE
- "#minecraft:iron_ores"
- "#minecraft:copper_ores"
```
---
## 六、跨平台兼容说明
| 能力 | Paper / Purpur / Folia | Spigot |
| -------------------------------- | ---------------------- | ------- |
| 连锁采集 / 作物收割 |
| 领地保护(Residence / WorldGuard) |
| 传统 `&` 颜色代码 |
| MiniMessage(`<red>`、`<#ff8800>`) |
| 预览 · 发光描边(`glow`) |
| 预览 · 方块裂纹(开发中)(`damage`) |
---
## 七、常见问题
**Q:潜行挖矿没反应?**
按顺序排查:`enabled` 是否为 true → 玩家是否有 `wochainmine.use` → 是否在 `disabled-worlds` 里 →
玩家是否用 `/chainm` 关掉了总开关或该工具组 → 手持工具是否在该工具组的 `tools` 里 →
该方块是否在 `blocks` 里。
**Q:站在领地边上会连锁到别人的地吗?**
不会。插件会做领地判定:只要连通范围里**有任何一格**属于你无权破坏的领地,整次连锁就会取消(玩家手挖的那一格照常掉落)。
装了 Residence 或 WorldGuard 就自动生效,两者都没装则跳过判定。
**Q:连锁会不会把服务器卡崩?**
不会。连锁是分批的:每 tick 最多 `max-blocks-per-tick` 格,且不超过 `time-budget-ms` 毫秒。
想更保守就把这两个值调小。
**Q:工具快坏了会一直连锁到爆掉吗?**
不会。`durability-protect`(默认 2)表示工具剩余耐久 ≤ 该值时连锁立即停止。
检查发生在三个位置:连锁启动前、每一格处理前、整条连锁结束时。想完全不管耐久就设 `0`。
---
## 八、更新日志
### v1.2.2 · 2026-10-11
**新增功能**
- **经验掉落**:连锁挖矿补发原版经验(煤 / 红石 / 青金石 / 钻石 / 绿宝石 / 下界石英 / 下界金 / 幽匿系列),
数值照抄原版;`exp-drops.table` 可自定义,`mode` 可选直接给玩家或生成经验球。
- **粒子反馈**:每挖掉 / 收割一格都在原位撒粒子,类型与数量可配,只发给发起者本人。
- **`cooldown-ms`**:限制连点间隔,防刷屏 / 防刷耐久;冷却期间不会亮连锁预览。
- **管理命令** `/chainm admin status|on|off <玩家>`:查看或强制开关任意玩家的连锁。
- **`config.yml` 自动升级**:换 jar 升级时自动把新增配置项(连同模板里的说明注释)补进你的配置文件,
只加不减、改前先备份成 `config.yml.v<旧版本>.bak`,你已经写下的每一行、每个取值都不动。
不想写回文件的话把 `auto-update-config` 改成 `false`(新增项仍按内置默认值生效)。
- 配置 `preview.glow-inset`(默认 `0.01`,范围 0~0.4):预览实体内缩多少格,见下面「修复」第一条。
**修复与改进**
- **挖矿时看不到方块裂纹**:现在实体改为**整体缩进方块内部**,方块表面重新交还原版渲染:**裂纹正常显示**;方块边缘的高亮照旧。
- **禁用世界 / 无权限时的误提示**:现在只有**真的要连锁**时才判环境限制并发送提示。
### v1.0.1 · 2026-10-10
- 接入 [bStats](https://bstats.org) 匿名统计。
### v1.0.0 · 2026-10-08
- 首个公开版本。
---
## 九、联系作者
有问题或建议可反馈到作者邮箱 <block409@foxmail.com>