✦ 插件特色
1. 资源定义与采集点分离
资源只需要定义一次,多个采集点可以重复引用同一个资源。
- `resources.yml`:资源名称、品阶、模型、采集时间和掉落;
- `tools.yml`:采集工具、品阶、类型和工具效果;
- `nodes.yml`:世界、坐标、绑定资源和启用状态。
修改资源模板后,引用该资源的采集点会统一生效,不需要逐个修改坐标。
2. 手动布点,不破坏地图
RiftGathering 不会自动修改地形,也不会在全图随机生成资源点。管理员可以根据地图地形、城市、阵营边界和任务路线精准布置资源。
支持两种创建方式:
```text
/gathering set <资源ID> [区域ID]
```
或使用设置工具打开资源选择界面后直接放置。
3. ArcartX / Adyeshach 模型展示
资源可以绑定 ArcartX 客户端模型,并使用 Adyeshach 承载虚拟显示实体。模型大小、名称高度和原生回退材质均可配置。
```yaml
arcartx-model: "小型精铁矿"
model-scale: 1.0
name-offset-y: 0.8
```
没有可用模型时,插件会回退到原生材质,不影响采集逻辑。
4. 采集工具具有差异化效果
工具不只是“能不能采集”的钥匙,还可以改变采集效率和收益:
- 工具类型:镐、镰、斧、铲、特殊或通用;
- 工具品阶:决定可采集的资源范围;
- 采集效率:缩短采集所需时间;
- 产量加成:提高基础掉落数量;
- 幸运采集:有概率额外获得一份掉落;
- 自定义 Lore:每把工具使用独立展示排版;
- 独立 NBT:可写入品质、模型、职业等服务器自定义标签;
5. 采集过程有明确反馈
玩家右键资源点后会进入采集流程:
- HUD 进度条显示当前进度;
- 显示资源名称、预计采集时间和预计收益范围;
- 采集中锁定移动和快捷栏切换;
- 玩家受到伤害时中断;
- 关闭采集进度界面时中断;
- 右键、打开背包和丢弃物品不会主动取消;
- 同一采集点同时只允许一名玩家采集;
- 采集完成后按实际数量合并提示,例如 `铜矿 x 3`。
ArcartX 可用于显示自定义 HUD;没有 ArcartX 时可以回退到原版 BossBar。
6. 原生与自定义掉落兼容
每个资源可以配置多条独立掉落。每条掉落都可以设置数量范围和概率。
原生物品示例:
```yaml
drops:
- type: MATERIAL
material: RAW_COPPER
min: 1
max: 3
chance: 1.0
display-name: "铜矿"
```
自定义物品示例:
```yaml
drops:
- type: COMMAND
display-name: "寒金锭"
command: "mm items give {player} cold_gold_ingot {amount}"
min: 1
max: 1
chance: 0.25
```
命令型掉落可以对接 MythicMobs、ItemsAdder、MMOItems、经济插件、任务插件或服务器自定义发放命令。
`chance: 1.0` 表示该掉落项有 100% 概率触发;多条掉落会分别判定,因此一次采集可以获得多种产出。
7. 资源点冷却与动态加载
采集完成后,资源点进入独立复活冷却。玩家离开激活距离后,模型和点击实体会被卸载;重新靠近时再加载。
- 不为整张地图常驻创建实体;
- 不每 Tick 扫描所有玩家背包;
- 按世界区块建立节点索引;
- 支持全服活跃节点上限;
- SQLite 异步保存节点状态和采集日志;
- 适合大型地图和较多手动资源点。
作者QQ: 328316468