- 版权类型
- 原创
- 插件中文名称
- 红包
- 插件英文名称
- RedPackets
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- Folia
- Purpur
- Leaves
- 语言支持
- 多语言
- 前置组件
- Vault
EssentialsX、CMI等经济插件
- 适配版本(Java)
- 最新版本
- 26.x
- 1.21
- 1.20
[MD]
# RedPockets 红包插件 2.0
一款仿微信/QQ 红包的 Minecraft 服务器插件:支持普通、拼手气、祝福语、口令四种红包,可点击领取、公屏播报、过期自动退回;支持 YAML/MySQL 双存储、数据转换、管理命令。兼容 Paper / Folia / Spigot / Purpur 1.21+。
# **反馈与建议**:QQ 3383222840
---
## 一、红包类型
| 类型 | 说明 |
|------|------|
| **普通红包** | 每人金额相同,总金额需能被份数整除。 |
| **拼手气红包** | 金额随机分配,领完后公屏公布「手气最佳」。 |
| **祝福语红包** | 可自定义祝福语(留空为「恭喜发财」),最多 6 个字。 |
| **口令红包** | 设置领取口令(可配置最大长度);玩家可**点击「输入口令领取」**由插件代发口令并领取(每人仅可点击一次),也可在公屏手动输入口令领取。 |
---
## 二、核心功能
- **GUI 选类型**:`/hongbao` 或 `/redpocket` 打开界面,点选红包类型。
- **聊天输入**:在聊天框依次输入总金额、份数;祝福语/口令按提示输入,输入 `cancel`(或配置的取消词)可取消。
- **可点击领取**:红包发送后公屏出现可点击的【点击领取】或【输入口令领取】,点击即可领取。
- **实时播报**:每次有人领取都会在公屏显示谁领了多少。
- **手气最佳**:拼手气红包领完后单独播报手气最佳玩家。
- **过期自动退回**:超过设定时间未领完的金额会自动退还给发送者;关服时未领完的也会退回,不会丢钱。
- **红包雨**:OP 可发起红包雨;可配置为服务器出资或指定玩家出资,支持定时自动红包雨。
---
## 三、数据存储
- **双存储**:支持 **YAML**(本地文件)或 **MySQL** 存储历史、排行榜、每日限额。
- **配置**:在 `config.yml` 中设置 `storage.type: yaml` 或 `mysql`;使用 MySQL 时填写 `mysql` 下的 host、port、database、user、password 等,表名前缀可选(默认 `redpockets_`)。
- **数据转换**:执行 `/hongbao convert` 会提示确认,输入 **`/hongbao convert confirm`** 后将当前存储的数据转换到另一种(YAML↔MySQL)。转换前若源为 YAML 会自动备份到 `plugins/RedPockets/backup/convert_<时间戳>/`;目标为 MySQL 时使用事务与批量写入,失败会回滚。转换完成后需在 config 中修改 `storage.type` 并**重启服务器**以切换使用新存储。
- **历史记录**:`history-path`、`best-path`、`data/daily_limit.yml` 路径可配置;历史可设置保留天数,超期自动清理。
---
## 四、货币与经济
- **多种货币**:可在配置中选择 **Vault 经济**(金币,需安装 Vault + 经济插件)或 **PlayerPoints 点券**(需安装 PlayerPoints)。使用点券时金额按整数处理。
- **依赖**:Vault 经济需安装 Vault 及任意支持 Vault 的经济插件(如 EssentialsX、CMI);选 PlayerPoints 时需安装 PlayerPoints。若选的点券不可用,插件会尝试回退到 Vault。
---
## 五、发送与领取限制(黑白名单)
- **发送名单**:可设置仅部分玩家能发红包,或禁止部分玩家发送(白名单 / 黑名单)。
- **领取名单**:可设置仅部分玩家能领红包,或禁止部分玩家领取。
- 名单支持**玩家名**或 **UUID**,在配置中填写即可;不填则名单为空(白名单时无人可操作,黑名单时不限制)。
---
## 六、进服补发与掉线重进
- 玩家**进服**或**掉线重进**时,可自动补发当前**未过期、未领完**的红包消息,避免错过。
- 配置中可**开关**进服补发,并可设置**最低金额**:例如只补发总金额 ≥ 100 的红包,小于 100 的不显示。
---
## 七、管理命令(admin)
拥有 `redpockets.admin` 权限的玩家可使用:
| 子命令 | 说明 | 示例 |
|--------|------|------|
| `clearcooling [玩家]` | 清除指定玩家的发送冷却;不填玩家则为自己 | `/hongbao admin clearcooling`、`/hongbao admin clearcooling Steve` |
| `resetdailylimit [玩家]` | 重置指定玩家今日已用发送限额;不填玩家则为自己 | `/hongbao admin resetdailylimit` |
| `storage` | 查看当前存储类型(yaml / mysql) | `/hongbao admin storage` |
---
## 八、其他特性
- **多语言**:支持简体中文、繁体中文、英语、日语、韩语、德语、法语、西班牙语、葡萄牙语、俄语,在配置中切换;语言文件缺失时会回退到简体中文。
- **冷却与每日限额**:可设置发送冷却时间、每日发送上限;拥有 VIP 权限的玩家可绕过。
- **音效与粒子**:发送/领取时可播放音效和粒子,种类可在配置中修改。
- **历史与排行榜**:支持查看发送历史(分页)、手气最佳/发送总额/领取总额排行榜。
- **PlaceholderAPI**:安装 PlaceholderAPI 后可使用占位符(见下方)。
- **更新提示**:OP 进服时若有新版本会提示;也可用 `/hongbao update` 检查。
- **调试**:config 中 `debug: true` 时可输出更详细日志。
---
## 九、环境要求
- **服务端**:Spigot 1.21+ / Paper 1.21+ / Folia 1.21+ / Purpur 1.21+
- **Java**:21
- **依赖**:Vault + 经济插件(若使用 Vault 货币),或 PlayerPoints(若使用点券)
- **软依赖**:PlaceholderAPI(可选);MySQL 为可选(仅当 `storage.type: mysql` 时需要)
---
## 十、安装与更新
1. 将 `RedPockets.jar` 放入服务器 `plugins` 文件夹。
2. 安装 **Vault** 及经济插件(或 **PlayerPoints**,按你选择的货币类型)。
3. 启动或重载服务器,配置会在 `plugins/RedPockets/` 下生成。
4. **更新插件**:下载新版本 JAR 替换旧版,重载或重启即可;配置文件会自动合并新选项,你改过的值不会被覆盖。
---
## 十一、命令一览
| 命令 | 说明 | 权限 |
|------|------|------|
| `/hongbao` / `/redpocket` | 打开红包类型选择 GUI | `redpockets.send` |
| `/hongbao help` | 查看可用命令(按权限显示) | 无 |
| `/hongbao history [页码]` | 查看历史记录(分页) | `redpockets.history` |
| `/hongbao rank` | 查看排行榜(手气最佳/发送/领取) | `redpockets.rank` |
| `/hongbao rain` | 发起红包雨 | `redpockets.rain` |
| `/hongbao claim <id>` | 领取红包(多由点击触发) | `redpockets.claim` |
| `/hongbao clickclaim <id>` | 口令红包点击领取 | `redpockets.claim` |
| `/hongbao update` | 检查 Modrinth 是否有新版本 | `redpockets.reload` |
| `/hongbao reload` | 重载配置(含 main.yml、语言) | `redpockets.reload` |
| `/hongbao convert` | 提示转换确认说明 | `redpockets.convert` |
| `/hongbao convert confirm` | 确认执行存储数据转换(YAML↔MySQL) | `redpockets.convert` |
| `/hongbao admin <子命令> [玩家]` | 管理:清除冷却、重置每日限额、查看存储类型 | `redpockets.admin` |
---
## 十二、权限一览
| 权限 | 说明 | 默认 |
|------|------|------|
| `redpockets.send` | 发送红包 | 所有人 |
| `redpockets.claim` | 领取红包 | 所有人 |
| `redpockets.history` | 查看历史记录 | OP |
| `redpockets.rank` | 查看排行榜 | 所有人 |
| `redpockets.rain` | 发起红包雨 | OP |
| `redpockets.reload` | 重载配置、检查更新 | OP |
| `redpockets.convert` | 执行存储数据转换 | OP |
| `redpockets.admin` | 管理命令(清除冷却、重置每日限额、查看存储) | OP |
| `redpockets.bypass.cooldown` | 绕过发送冷却 | 无 |
| `redpockets.bypass.dailylimit` | 绕过每日限额 | 无 |
| `redpockets.vip` | 配置中的 VIP 权限之一,用于绕过冷却与每日限额 | 无 |
---
## 十三、PlaceholderAPI 占位符
安装 PlaceholderAPI 后可用(标识符:`redpockets`):
| 占位符 | 说明 |
|--------|------|
| `%redpockets_send_1%` ~ `%redpockets_send_10%` | 发送排行榜第 1~10 名,格式:`玩家名:金额` |
| `%redpockets_receive_1%` ~ `%redpockets_receive_10%` | 领取排行榜第 1~10 名,格式:`玩家名:金额` |
| `%redpockets_best_1%` ~ `%redpockets_best_10%` | 手气最佳排行榜第 1~10 名,格式:`玩家名:次数` |
| `%redpockets_storage_type%` | 当前存储类型(`yaml` 或 `mysql`) |
---
## 十四、使用流程(玩家)
1. 输入 `/hongbao` 或 `/redpocket` 打开界面,选择一种红包类型。
2. 在聊天框输入**总金额**(支持两位小数)。
3. 再输入**份数**(整数)。
4. **祝福语**:输入祝福语或留空用默认。
5. **口令**:输入领取口令(不超过配置的最大长度)。
6. 红包发送到公屏,其他人点击【点击领取】或(口令红包)【输入口令领取】即可领取。
7. 输入 `cancel`(或你在配置里设的取消词)可取消当前操作。
---
## 十五、配置概要(管理员)
- **config.yml**:语言、取消词、过期时间、金额/份数范围、冷却、每日限额、货币类型(vault / playerpoints)、发送/领取黑白名单、进服补发开关与最低金额、音效与粒子、口令(大小写、空格、最大长度)、红包雨来源与定时、**存储类型(yaml / mysql)与 MySQL 连接信息**、历史路径与保留天数、bStats 开关、更新检查、调试模式等。
- **main.yml**:GUI 文案与布局。
- **messages/**:各语言消息文本。
修改后执行 `/hongbao reload` 即可生效;插件更新后新配置项会自动合并,无需手动对照旧版。
---
## 十六、常见问题
- **提示「未检测到货币」**:请先安装 Vault 及经济插件(或 PlayerPoints),并确保先于 RedPockets 加载;插件会在约 5 秒后重试一次。若配置为 PlayerPoints 但未安装,会自动尝试使用 Vault。
- **掉线后看不到红包**:在 config 中开启「进服补发」并保存、重载;进服后会自动收到当前未过期的红包消息。
- **只想部分人发/领**:使用 config 中的发送名单、领取名单,设为白名单或黑名单并填写玩家名或 UUID。
- **如何从 YAML 切换到 MySQL**:在 config 中填好 `mysql` 配置,执行 `/hongbao convert` 后按提示输入 `/hongbao convert confirm` 执行转换;转换完成后将 `storage.type` 改为 `mysql` 并重启服务器。
- **更新从哪里下**:使用 `/hongbao update` 查询最新版。
---
# **反馈与建议**:QQ 3383222840
---
[/MD]