# DuckyColorMix 🦆
一个专为 Paper 1.18.2+ 设计的竞争性小游戏插件,具有动态的基于颜色的生存游戏玩法,并支持完整的 Paper Adventure API。🎮
## 功能 ✨
- **🎨 高级文本格式** - 完整支持 Paper Adventure API,包含十六进制颜色、渐变和彩虹效果
- **📝 MiniMessage 格式** - 现代文本格式(``, ``, ``)
- **⚡ 动态游戏玩法** - 当只剩一个玩家时,游戏可以立即结束
- **⏱️ 可配置倒计时** - 倒计时时间递减,自定义间隔
- **👥 实时玩家追踪** - 统计游戏区域内的玩家(平台上方 5 个方块)
- **🌈 随机羊毛颜色** - 生成色彩鲜艳的平台,使用随机羊毛方块
- **🛡️ 安全颜色系统** - 一种颜色保持安全,其他颜色消失
- **🔄 平台重生** - 轮次之间和游戏结束后自动重置平台
- **🏆 瞬时获胜检测** - 当只剩一个玩家时,游戏立即结束
- **🎆 获胜者庆典** - 为获胜者展示 5 秒的烟花表演
- **⏸️ 暂停/恢复系统** - 完整的游戏状态管理
- **🔔 更新检查** - 自动检查 GitHub 发布的更新
## 指令 💻
| 指令 | 描述 | 权限 |
|---------|-------------|------------|
| `/colormix start [seconds] [change_every_rounds]` | 🚀 开始新的游戏 | `duckycolormix.colormix` |
| `/colormix stop` | 🛑 停止当前游戏 | `duckycolormix.colormix` |
| `/colormix pause` / `/colormix pause` | ⏸️ 暂停游戏 | `duckycolormix.colormix` |
| `/colormix resume` / `/colormix resume` | ▶️ 恢复游戏 | `duckycolormix.colormix` |
| `/colormix setplatform` | 🏗️ 设置平台区域 | `duckycolormix.colormix` |
| `/colormix reload` | 🔄 重新加载插件配置 | `duckycolormix.colormix` |
**别名:** `/cm`, `/dcm` `/duckycolormix` 🔗
### 1. 设置平台 🏗️
```
/colormix setplatform
```
点击相对的两个角落来定义平台区域。🖱️
### 2. 开始游戏 🎮
```
/colormix start
/colormix start 10 2
```
- 默认:5 秒倒计时,每 3 轮递减 ⏰
- 自定义:10 秒倒计时,每 2 轮递减 🎯
### 3. 游戏控制 🎛️
```
/colormix pause # ⏸️ 暂停游戏
/colormix resume # ▶️ 恢复游戏
/colormix stop # 🛑 停止游戏
```
## 游戏玩法 🎯
1. **🏗️ 平台设置** - 管理员使用 `/colormix setplatform` 设置平台区域
2. **🚀 游戏开始** - 管理员使用可定制的倒计时设置开始游戏
3. **🎨 轮次开始** - 平台填充着随机颜色的羊毛方块
4. **🛡️ 安全颜色** - 选择一种随机颜色作为“安全”颜色(在动作条中显示)
5. **⏱️ 倒计时** - 玩家有有限的时间站在安全颜色上
6. **💥 方块移除** - 倒计时结束后所有不安全的颜色都消失
7. **🏆 获胜条件**:
- 当平台上只剩 1 名玩家时,游戏立即结束 ⚡
- 获胜者将获得 5 秒的烟花庆典 🎆
- 如果平台上没有玩家,则游戏无胜者结束 😢
8. **🔄 新一轮** - 如果剩下 2 名或以上玩家,则开始新一轮,倒计时时间更短
## 配置 ⚙️
该插件在 `config.yml` 中提供广泛的配置选项:📝
### 游戏设置 🎮
```yaml
game:
default-starting-seconds: 5 # ⏰ 初始倒计时时间
default-change-every-rounds: 3 # 📊 倒计时递减前的轮数
minimum-countdown: 1 # ⏱️ 最小倒计时时间
round-delay: 60 # ⏳ 轮次之间的延迟(刻)
fireworks-duration: 5 # 🎆 获胜者庆典持续时间
fireworks-per-second: 5 # 🎇 烟花强度
```
### 消息自定义 💬
所有消息都支持:
- **🔤 遗留颜色** (`&a`, `&c`, 等)
- **🎨 十六进制颜色** (`#FF0000`, `#00FF00`, 等)
- **✨ MiniMessage** (``, ``, ``)
示例:
```yaml
messages:
winner-announcement: "🎉 {player} 赢得了 DuckyColorMix! 🎉 "
safe-color: "安全颜色: {color} "
```
### 颜色名称 🌈
自定义不同语言的颜色名称:
```yaml
colors:
WHITE: "WHITE"
RED: "RED"
BLUE: "BLUE"
# ... etc
```
## 权限 🔐
| 权限 | 描述 | 默认 |
|------------|-------------|---------|
| `duckycolormix.colormix` | 🎮 管理 DuckyColorMix 游戏 | `op` |
| `duckycolormix.update` | 🔔 接收更新通知 | `op` |
## 技术细节 🔧
### 游戏区域检测 📍
- 当玩家在平台边界内时,才认为“在游戏内” 🏗️
- 检测区域在平台上方 5 个方块 📏
- 实时玩家计数,每游戏刻一次 ⚡
### 平台系统 🏗️
- 支持任何矩形区域 📐
- 自动用 16 种不同的颜色生成羊毛 🌈
- 智能方块移除系统 💥
- 轮次之间自动重生平台 🔄
### 性能 ⚡
- 针对 Paper API 优化 🚀
- 对服务器影响最小 💪
- 高效的玩家检测 🎯
- 异步更新检查 🔄
## API 信息 🛠️
### Paper Adventure API 📚
该插件充分利用 Paper 的 Adventure API 来:
- 基于组件的文本处理 📝
- 原生十六进制颜色支持 🎨
- MiniMessage 解析 ✨
- 动作条动画 📊
- 现代文本格式 💫
### 兼容性 🔗
- **最低:** Paper 1.18.2 📋
- **推荐:** Paper 1.19+ ⭐
- **Java:** 21+ ☕
- **不支持** PlugMan(及其分支) ❌
## 支持 & 更新 🆘
### 自动更新 🔄
插件在启动时会自动检查更新,并通知管理员有关新版本的信息。📢
### 手动更新检查 📥
更新可在 GitHub Releases / Discord / Modrinth 页面上找到。🔗
### 问题与建议 🐛
在 GitHub Issues 页面报告问题或建议功能。💡
## 许可证 📄
本项目使用 GNU 通用公共许可证授权,详细信息请参阅 LICENSE WIKI 网站。⚖️
## 鸣谢 👨💻
**作者:** Barpad 🧑💻
**版本:** 1.0.0 🏷️
**API:** Paper Adventure API 📚
**Minecraft 版本:** 1.18.2+ 🎮
---
*DuckyColorMix - 颜色决定你的命运!* 🎨🏆🦆