# TitleBroadcast
**适用于 Paper 服务器的高级定时广播插件,具有广泛的自定义选项**
## 🌟 特性
### 📋 **定时广播系统**
- **自动广播**,具有完全可自定义的间隔
- **随机或顺序**播放顺序
- **基于玩家的条件** - 仅当玩家在线时广播
- **广播所需的最低玩家数量**
### 🎨 **多种显示类型**
- **📺 标题和副标题**,具有自定义淡入时间
- **📊 动作条**,具有持续时间控制
- **💬 聊天消息**,具有自定义前缀
- **🔗 组合支持** - 同时使用多种类型
### 🔊 **增强的用户体验**
- **🎵 声音效果** - 每个广播完全可自定义
- **✨ 粒子效果** - 具有计数,偏移量和速度控制
- **🎭 丰富的文本格式** 通过 Adventure API 和 MiniMessage
- **🌈 渐变和颜色** - 现代文本样式支持
### 🔐 **基于权限的广播**
- **细粒度的权限** 用于不同的广播类型
- **每个广播的权限** 要求
- **接收权限** 用于公告,警报,事件,技巧
- **管理员权限** 用于管理命令
### 🌍 **世界管理**
- **特定于世界的广播** - 不同世界显示不同的消息
- **禁用世界** - 从广播中排除特定世界
- **每个世界的广播列表** – 完全自定义
### ⚡ **性能和兼容性**
- **🔥 Folia 支持** - 完全兼容 Folia 服务器
- **📦 权限缓存** - 为大型服务器优化性能
- **🧵 线程化调度器** - 在可用时使用区域调度器
- **🔌 PlaceholderAPI 集成** - 动态内容支持
## 🎮 命令
| 命令 | 描述 | 权限 |
|---------|-------------|------------|
| `/titlebroadcast` | 主命令,带有帮助 | `titlebroadcast.command` |
| `/titlebroadcast reload` | 重新加载配置 | `titlebroadcast.reload` |
| `/titlebroadcast list` | 列出所有广播 | `titlebroadcast.list` |
| `/titlebroadcast send ` | 发送特定的广播 | `titlebroadcast.send` |
| `/titlebroadcast toggle` | 切换广播状态 | `titlebroadcast.toggle` |
| `/titlebroadcast info` | 插件信息 | `titlebroadcast.command` |
| `/titlebroadcast next` | 显示下一个计划的广播 | `titlebroadcast.list` |
**别名:** `tb`, `broadcast`, `titlebc`
## 🔑 权限
### **管理员权限**
- `titlebroadcast.command` - 使用主命令
- `titlebroadcast.reload` - 重新加载配置
- `titlebroadcast.list` - 列出广播
- `titlebroadcast.send` - 发送手动广播
- `titlebroadcast.toggle` - 切换广播
### **接收权限** *(默认: true)*
- `titlebroadcast.receive.announcements` - 接收公告
- `titlebroadcast.receive.alerts` - 接收警报
- `titlebroadcast.receive.events` - 接收事件
- `titlebroadcast.receive.tips` - 接收技巧
## ⚙️ 配置
### **📝 camelCase 配置**
该插件在整个过程中使用现代 camelCase 配置:
```yaml
# Broadcast settings
broadcastSettings:
enabled: true
intervalSeconds: 300
randomOrder: true
onlyWhenPlayersOnline: true
minimumPlayersRequired: 1
# Default display settings
defaultDisplaySettings:
title:
enabled: true
fadeInTicks: 10
stayTicks: 70
fadeOutTicks: 20
sound:
enabled: true
soundType: "ENTITY_EXPERIENCE_ORB_PICKUP"
volume: 1.0
pitch: 1.0
```
### **🎨 丰富的广播示例**
```yaml
broadcasts:
welcome:
enabled: true
permission: "titlebroadcast.receive.announcements"
displaySettings:
title:
enabled: true
text: "欢迎!"
fadeInTicks: 20
stayTicks: 60
fadeOutTicks: 20
subtitle:
enabled: true
text: "欢迎光临!"
sound:
enabled: true
soundType: "BLOCK_NOTE_BLOCK_CHIME"
volume: 0.8
pitch: 1.2
particles:
enabled: true
particleType: "HEART"
count: 5
```
## 🎯 MiniMessage 支持
完全支持 Adventure API 的强大 MiniMessage 格式:
- **渐变:** `Text`
- **颜色:** `黄色文本`
- **装饰:** `粗体 `, `斜体 `
- **悬停和点击事件:** 交互式文本元素
- **更多!**
## 🔗 PlaceholderAPI 集成
### **内置占位符**
- `{player}` - 玩家名称
- `{displayname}` - 玩家显示名称
- `{world}` - 当前世界名称
- `{online}` - 在线玩家数量
- `{tps}` - 服务器 TPS
- `{health}`, `{level}`, `{exp}` - 玩家统计信息
### **PlaceholderAPI 支持**
安装 PlaceholderAPI 后,所有 PlaceholderAPI 占位符都得到支持!
## 🚀 安装
1. **下载** 最新版本
2. **将** JAR 文件放入您的 `plugins/` 文件夹
3. **重新启动** 您的服务器
4. **在** `config.yml` 中配置广播
5. **享受** 自动化广播!
## 📋 要求
- **Paper 1.21.3+**(或兼容的分叉版本)
- **Java 21+**
- **PlaceholderAPI** *(可选但建议)*
## 🛠️ 从源代码构建
这是一个私人项目。源代码不可用。
编译后的插件可用作 `TitleBroadcast-1.0.0.jar`
## 🎪 包含示例广播
该插件带有预配置的广播示例:
- **🎉 欢迎消息** - 欢迎新玩家
- **💡 服务器提示** - 有用的游戏提示
- **📜 规则提醒** - 保持规则可见
- **🗳️ 投票提醒** - 鼓励服务器投票
- **🎊 事件公告** - 宣传特别活动
## 📞 支持
需要帮助?加入我们的 Discord 服务器:
- **Discord:** [https://discord.gg/yUghaxRSZs](https://discord.gg/yUghaxRSZs)
---
*用❤️ 为 Minecraft 社区制作*