- 版权类型
- 原创
- 插件中文名称
- GT采集
- 插件英文名称
- GTGather
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- Folia
- Purpur
- PufferFish
- Leaves
- 其他核心
- 语言支持
- 中文(简体)
- 前置组件
- Adyeshach https://www.minebbs.com/resources/adyeshach-bukkit.9649/
- 适配版本(Java)
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
[MD]`点击查看插件WIKI`[/MD]模板驱动 · 冷却变样 · 多维上限 · Wand 工具
GT系列插件交流群
[MD]`985955382`[/MD]
[MD]`群内有福利插件领取 发送"福利插件"可查看`[/MD]
可自由设置采集前后的效果
可自由搭配材质或模型
[MD] --- ### ✨ 为什么选择 GTGather? #### 🎯 **模板 × 生成点分离架构** - 📦 **一处定义,处处复用** — 一个模板定义采集物"采集物、采集条件、采集奖励" - 🔄 **改模板全局生效** — 不用逐个调整,所有引用该模板的生成点同步更新 - 🗺️ **Wand 工具快速布点** — 右键地面即可放置,采集点自动生成 --- #### 🔧 **物品检测** - **NeigeItems** 物品 ID 精确匹配(`ni:<id>` 前缀) - **MythicMobs** 物品 ID 精确匹配(`mm:<id>` 前缀) - **NAME_MATCH** 物品名模糊匹配(支持 `*` 通配符) - **Lore 匹配** — `EXACT`(完全匹配) / `CONTAINS`(包含匹配),自动去颜色代码 - 🔗 多条件需全部满足才能采集 --- #### 📊 **多维上限控制** | 维度 | 说明 | 示例 | | :--- | :--- | :--- | | 玩家上限 | 每人独立计数 | 1 小时最多 5 个 | | 全服上限 | 所有玩家共享 | 每天全服最多 200 个 | | 灵活周期 | 任意组合 | `30s` / `5m` / `1h` / `1d` / `1d12h` | --- #### 🎁 **采集奖励系统** - 物品来源:**原版 / NeigeItems / MythicMobs**(统一 ID 前缀 `ni:` / `mm:`) - 数量支持 PAPI 表达式:`1 + %player_level% / 10` - 给予方式:`INVENTORY`(直接进背包)/ `DROP`(掉地上 + 物品保护) - 指令执行:`console:` / `op:` / `player:` 三种身份前缀 - 条件奖励:每个 reward 自带 `condition`(可选),支持 `||` `&&` 括号 - 指令型 reward 自定义提示消息(`message` 字段,不填则不发送提示信息) --- #### 🖥 **可视化 GUI 管理** - 📋 模板列表 → 模板编辑 → 字段逐一修改 - 📍 生成点列表 → 生成点编辑 → 传送/删除 - 💬 聊天框输入 可在游戏内对模板部分内容进行编辑/查看 --- ### 安装环境 - **Minecraft 版本**: 1.13 ~ 1.21+ - **必需依赖**: [Adyeshach](https://www.minebbs.com/resources/adyeshach-bukkit.9649/) (不装也行,功能正常就是看不见实体) - **可选依赖** - [PlaceholderAPI](https://github.com/PlaceholderAPI/PlaceholderAPI) — PAPI 变量 - [NeigeItems](https://www.minebbs.com/resources/neigeitems.6348/) — NI 物品库 - [MythicMobs](https://mythiccraft.io/index.php?resources/mythicmobs.1/) — MM 物品库 --- ### 配置文件一览 | 文件 | 用途 | 状态 | | :--- | :--- | :---: | | `config.yml` | 全局配置(进度条、冷却、Wand、消息) | ✅ | | `templates.yml` | 采集物模板(外观/条件/奖励/上限) | ✅ | | `spawns.yml` | 生成点位置数据 | ✅ | | `data.yml` | 储存采集数据信息 | ✅ | | `license.yml` | 授权激活码 | ✅ | --- ### 模板配置 templates.yml [/MD]
[MD]
| 字段 | 类型 | 说明 |
| :--- | :--- | :--- |
| `display` | String | 实体显示名(支持 PAPI + 颜色代码) |
| `entity-type` | Enum | `ARMOR_STAND` / `TEXT_DISPLAY` / `PIG` / `PLAYER` |
| `display-item` | String | 头部物品:`IRON_ORE` / `ni:<id>` / `mm:<id>` |
| `display-scale` | Double | 缩放(1.20+ 才有 SCALE 属性,默认 1.0)[暂未启用] |
| `display-y-offset` | Double | 实体 Y 偏移(负数 = 下沉) |
| `glowing` | Boolean | 是否发光 |
| `description` | List | 采集物描述行 |
**物品ID 前缀**
| 前缀 | 含义 | 示例 |
| :--- | :--- | :--- |
| 无前缀 | 原版 Material | `RAW_IRON` / `DIAMOND` |
| `ni:` | NeigeItems 物品 | `ni:ruby` / `ni:warrior_sword` |
| `mm:` | MythicMobs 物品 | `mm:LEGEND_SWORD` |
[/MD]
[MD]
```yaml
cast:
enabled: true
duration: "3.0" # 支持 PAPI: "%player_level% / 10"
progress-bar: BOSS_BAR # BOSS_BAR / ACTION_BAR / TITLE
cooldown: "30s" # 支持 PAPI + 时间单位: "1m" / "60" / "%player_level% * 0.5"
cooldown-display: # 冷却期变样(不填 = 仅逻辑冷却,实体不变)
name: "§8§l冷却中 {cooldown}"
display-item: GRAY_STAINED_GLASS_PANE
display-scale: 0.8
y-offset: -1.0 # 覆盖模板的 display-y-offset
cooldown-lines: # 冷却期多行描述
- "§7§l距刷新还剩 §f§l{cooldown}"
cooldown-format: "mm:ss" # compact / mm:ss / hh:mm:ss / full
```
**冷却格式说明:**
| 格式 | 示例 | 说明 |
| :--- | :--- | :--- |
| `compact` | `12s` / `5m` / `1h23m` | 简洁 |
| `mm:ss` | `12:34` | 分:秒 |
| `hh:mm:ss` | `01:23:45` | 时:分:秒 |
| `full` | `1h23m45s` | 完整 |
**冷却变量:**
- `{cooldown}` — 格式化后的冷却时间
- `{cooldown_seconds}` — 纯数字秒数
[/MD]
[MD]
如有多个 trigger key(t1 / t2 / ...)则必须全部满足才能采集。
**类型一:HAND_ITEM(手持物品检测)**
```yaml
triggers:
t1:
id: "ni:copper_pickaxe" # ni: → NeigeItems 物品 ID
t2:
id: "mm:GOLD_PICKAXE_TIER_5" # mm: → MythicMobs 物品 ID
t3:
pattern: "*iron_pickaxe*" # 无 id → NAME_MATCH 模式
lore-match: CONTAINS # EXACT / CONTAINS
lore-pattern: "右键采集" # 任一行命中即通过,自动去颜色代码
```
**NAME_MATCH 匹配顺序(任一命中即通过):**
1. `displayName` 子串匹配(ignoreCase)
2. `Material` 名称子串匹配(`"iron"` 命中所有 `IRON_` 开头)
3. `*` 通配符(自动转正则)
**类型二:PAPI(占位符表达式)**
```yaml
triggers:
t1:
expression: "%player_level% >= 30"
# 支持: >= > < <= == + - * / || && ! 括号
```
[/MD]
[MD]
- **Rewards支持条件判断**
- 比如可以做根据玩家职业给奖励什么的
```yaml
rewards:
r1:
id: "ni:warrior_sword" # ni: → NI 物品
amount: "1" # 支持 PAPI: "1 + %player_level% / 10"
mode: INVENTORY # INVENTORY / DROP
r2:
id: RAW_IRON # 无前缀 → 原版 Material
amount: 2
r3:
id: "mm:LEGEND_SWORD" # mm: → MM 物品
mode: DROP
r4:
command: # 指令列表
- "console:say %player% 获得奖励"
- "op:give %player% diamond 1"
- "player:me 拿到奖励!"
message: # 指令型 reward 自定义提示(不填 = 静默)
- "&6[公告] &e%player% 拿到了神器!"
- "&7稀有物品:传说之剑"
condition: "%player_class% == WARRIOR"
```
**指令身份前缀:**
- `console:` — 控制台执行(默认)
- `op:` — 玩家以 OP 身份执行
- `player:` — 玩家自己执行
**reward.id 前缀:**
- 无前缀 = 原版 Material
- `ni:<id>` = NeigeItems 物品
- `mm:<id>` = MythicMobs 物品
[/MD]
[MD]
**许多节点的许多配置都可以删除**
```yaml
templates:
iron_ore: #模板ID
display: "§f§l铁矿" #显示名字 (可搭配AX/PaiUI/云拾/羽核等显示模型)
entity-type: ARMOR_STAND #实体类型
display-item: IRON_ORE #显示的物品(可以搭配IA/CE/材质等做到特殊方块显示)
display-y-offset: -1.35
description: #多行信息显示
- "§7需要铁镐采集"
- "§71 小时最多 5 个"
- "§7全服一天上限 200 个"
cast: #采集配设置
enabled: true #是否启用
duration: "3.0" #采集时间(支持papi/计算)
cooldown: "1h" #冷却时间(支持papi/计算)
cooldown-display:
name: "§8§l冷却中 {cooldown}" #冷却中显示的名字
display-item: GRAY_STAINED_GLASS_PANE #冷却中显示的物品材质
cooldown-lines: #冷却中显示的多行信息
- "§7距刷新还剩 §f{cooldown}"
cooldown-format: "mm:ss" #冷却中显示的时间格式
triggers: #采集条件
t1:
pattern: "*iron_pickaxe*" #需要手持铁镐(详见上方triggers节点介绍)
rewards: #奖励节点 (可设置条件等详见上方rewards节点介绍)
r1:
id: RAW_IRON
amount: "1"
mode: INVENTORY
r2:
command:
- "console:xp give %player% 5"
limit: #采集限制
player: #个人限制
enabled: true
count: 5 #限制数量
period: "1h" #重制时间
server: #全服限制
enabled: true
count: 200 #限制数量
period: "1d" #重制时间
```
**简化配置**
```yaml
plain_armor:
display: "§7§l神秘点"
entity-type: ARMOR_STAND
display-y-offset: -1.35
description:
- "§7基础采集点"
rewards:
r1:
command:
- "console:say %player% 在 %player_x%,%player_y%,%player_z% 采集了"
```
[/MD]
[MD] -**更多配置内容详见配置文件的示例和注释** [/MD]