# 欢迎消息

一个**简单、轻量级**的欢迎消息插件,真正有效,并且不会破坏您的服务器。现在拥有**增强的安全**和**更高的稳定性**!

## ✨ 特点

- **智能消息** - 对新玩家和回归玩家显示不同的消息
- **自定义等级系统** - 定义无限自定义等级,使用任何名称
- **12种文本动画** - 打字,淡入,滑动,波浪,彩虹,故障,打字机,弹跳,摇晃,脉冲,矩阵,打乱
- **华丽效果** - 粒子,声音,标题,烟花 - 所有效果都是可选的,并且可以配置
- **RGB & 渐变** - 支持现代颜色代码和彩虹文本
- **配置验证** - 不会在启动时因为错误的设置而使您的服务器崩溃
- **PlaceholderAPI 支持** - 使用其他插件和聊天中的数据
- **完整的 Spigot 兼容性** - 适用于 Spigot, Paper, Purpur 和 Pufferfish
- **增强的安全** - 通过输入验证和速率限制提高安全性
- **速率限制** - 内置命令冷却时间以防止垃圾信息
- **输入净化** - 防止恶意输入和注入
- **内存管理** - 自动清理以防止内存泄漏
- **线程安全** - 线程安全操作以实现最大的稳定性
- **不打扰人** - 所有内容都可以配置,并且没有强制选项

## 🎮 它做什么

使用自定义的加入/离开消息让您的服务器栩栩如生。新玩家会收到特别的欢迎,老玩家会收到他们自己的消息,而您的 VIP 可以拥有带有烟花等华丽的入口。**v1.3.4 新增:** 修复了烟花造成的伤害问题,并增强了主题系统,具有自动冲突检测。**之前的 v1.3.1:** 通过速率限制和输入净化增强了安全性。**之前的 v1.2.5:** 12种令人惊叹的文本动画在动作栏中播放(没有聊天垃圾信息!)。

## 🚀 快速开始
1. 将 jar 文件放入您的插件文件夹
2. 重新启动您的服务器
3. 编辑配置文件以满足您的要求
4. 完成!(插件会在启动时验证您的配置,因此它不会崩溃)

## 📋 命令
- `/welcome` - 显示帮助 (或 `/wm` 为简写)
- `/welcome reload` - 重新加载配置 (并进行验证!)
- `/welcome test` - 在加入/离开之前测试消息
- `/welcome testall` - 测试所有功能和动画
- `/welcome testanim ` - 测试特定动画类型
- `/welcome stats` - 查看加入计数等信息
- `/welcome reset ` - 重置玩家数据
- `/welcome toggle` - 切换自己的消息的开启/关闭状态
- `/welcome version` - 检查您正在运行的版本

## 🔧 配置文件
所有内容都位于 `config.yml` 和 `messages.yml` 中。配置文件实际上是可读的,并且插件会在启动时验证它,因此您不会遇到随机崩溃。

## 🏆 自定义等级系统
**v1.2.0 新增!** 在您的 `config.yml` 中定义无限自定义等级:
```yaml
custom-ranks:
enabled: true
ranks:
- name: "founder"
permission: "welcome.rank.founder"
priority: 100
- name: "coowner"
permission: "welcome.rank.coowner"
priority: 90
- name: "manager"
permission: "welcome.rank.manager"
priority: 80
- name: "moderator"
permission: "welcome.rank.moderator"
priority: 70
- name: "helper"
permission: "welcome.rank.helper"
priority: 60
- name: "vip"
permission: "welcome.rank.vip"
priority: 50
- name: "member"
permission: "welcome.rank.member"
priority: 40
```
**非常适合:**
- 多个 VIP 等级(VIP1、VIP2、VIP3、VIP4)
- 自定义服务器等级(建造者、助手、版主等)
- 任何您想要的等级结构
**它如何运作:**
1. 在 `config.yml` 中定义等级 (按优先级顺序)
2. 在 `messages.yml` 中为每个等级定义消息
3. 为玩家授予 `welcome.rank.` 权限
4. 插件会自动检测并使用最高等级
## 🎨 文本动画
**v1.2.5 新增!** 12 种令人惊叹的文本动画在动作栏中播放:
- **typing** - 模拟打字机效果,具有真实的打字速度
- **fade** - 平滑的淡入/淡出效果
- **slide** - 文本从不同的方向滑入
- **wave** - 文本上下摆动
- **rainbow** - 彩虹循环效果
- **glitch** - 矩阵风格的故障效果
- **typewriter** - 逐字符显示
- **bounce** - 弹跳文字动画
- **shake** - 摇晃文字效果
- **pulse** - 脉冲文字动画
- **matrix** - 矩阵风格的下落字符
- **scramble** - 文本打乱效果
**特点:**
- 私人动作栏动画 (没有聊天垃圾信息!)
- 可配置每条消息的持续时间和类型
- 适用于所有消息类型 (加入、离开、首次加入)
- 通过异步处理实现流畅的性能
## 🎨 PlaceholderAPI 支持
适用于支持 PlaceholderAPI 的任何插件:
- `%welcome_joincount%` - 他们加入的次数
- `%welcome_firstjoin%` - 这是他们首次加入吗?
- `%welcome_status%` - 新玩家、常驻玩家等
- `%welcome_rank%` - 他们的等级 (VIP、管理员等)
- `%welcome_messagesdisabled%` - 他们的消息是否已禁用?
- `%welcome_lastseen%` - 他们上次加入的时间
- `%welcome_firstjointime%` - 他们首次加入的时间
- `%welcome_time_since_last_seen%` - 上次加入以来经过的时间
- `%welcome_time_since_first_join%` - 自首次加入以来经过的时间
- `%welcome_total_unique_joins%` - 服务器上的总唯一加入次数
- `%welcome_join_ordinal%` - 他们的加入次序 (1 级, 2 级, 等)
- `%welcome_player_ordinal%` - 他们的加入计数次序
- `%welcome_time_greeting%` - 基于时间的问候 (上午/下午/晚上)
- `%welcome_server_uptime%` - 服务器运行时间
## 🛠️ 性能
- 所有内容都使用异步处理 (您的 TPS 会感谢您的)
- 智能缓存 (不是愚蠢的缓存)
- 可选指标 (默认关闭,因为隐私问题)
- 没有数据库文件会使您的服务器混乱
- 跨版本兼容性 (Spigot, Paper, Purpur, Pufferfish)
## 📋 更新日志
### v1.3.4 - 主题系统 & 烟花安全改进
- **🎆 修复:烟花伤害问题** - 烟花在欢迎效果期间不再对玩家造成伤害
- **🎨 改进:主题系统** - 增强了主题冲突检测和解决,具有自动验证
- **⏰ 修复:时间范围重叠** - 解决了基于时间的主题冲突 (上午/下午/晚上/夜间)
- **📅 增强:日期范围逻辑** - 改进了季节性主题 (冬季、圣诞节等) 的年份滚动处理
- **🔍 新增:主题验证** - 在启动时自动检测和报告主题配置冲突
- **🛡️ 改进:错误处理** - 日志记录和错误恢复更好
- **⚡ 性能:内存管理** - 增强了烟花效果的清理系统,以防止内存泄漏
- **🔧 代码质量** - 没有 Linter 错误,代码结构和文档改进
### v1.3.1 - 安全 & 性能改进
- **🔒 安全改进** - 修复了各种安全问题并提高了代码安全性
- **⚡ 速率限制系统** - 内置命令冷却时间以防止垃圾信息和滥用
- **🛡️ 输入净化** - 防止恶意输入和注入攻击
- **💾 内存管理** - 自动清理系统以防止内存泄漏
- **🔧 线程安全** - 所有操作现在都是完全线程安全的
- **🚫 整数溢出保护** - 防止大配置值导致崩溃
- **✅ 空指针安全** - 代码库中进行了全面的空值检查
- **🧹 资源泄漏预防** - 清理所有资源
- **⚡ 性能改进** - 将 Random 替换为 ThreadLocalRandom
- **📊 更好的错误处理** - 改进了日志记录和错误恢复
- **✨ 代码质量** - 没有 Linter 错误,完美的代码质量
### v1.2.5 - 动画系统 & 错误修复
- **🎨 12 种文本动画** - 打字, 淡入, 滑动, 波浪, 彩虹, 故障, 打字机, 弹跳, 摇晃, 脉冲, 矩阵, 打乱
- **🎯 动作栏显示** - 私人动画 (没有聊天垃圾信息!)
- **🔧 错误修复** - 修复了打字动画、打字机光标和所有 Linter 错误
- **⚡ 性能** - 优化了动画渲染和兼容性
## 🔐 权限
### 管理员权限
- `welcome.*` - 所有内容 (所有权限)
- `welcome.reload` - 重新加载命令
- `welcome.stats` - 统计命令
- `welcome.reset` - 重置命令
- `welcome.version` - 版本命令
- `welcome.testall` - 测试所有命令
- `welcome.testanim` - 测试动画命令
### 玩家权限
- `welcome.toggle` - 切换命令
- `welcome.test` - 测试命令
### 等级权限 (自定义!)
- `welcome.rank.` - 您定义的任何自定义等级
- 示例: `welcome.rank.founder`, `welcome.rank.vip4`, `welcome.rank.helper`
### 效果权限
- `welcome.effects.title` - 标题效果
- `welcome.effects.sound` - 声音效果
- `welcome.effects.particle` - 粒子效果
- `welcome.effects.firework` - 烟花效果
### 消息权限
- `welcome.messages.join` - 加入消息
- `welcome.messages.quit` - 离开消息
- `welcome.messages.firstjoin` - 首次加入消息
- `welcome.messages.returning` - 回归玩家消息
### 绕过权限
- `welcome.bypass.cooldown` - 绕过消息冷却
- `welcome.bypass.effects` - 绕过效果限制
## 🤝 贡献
发现了错误? 打开一个 issue。
修复了一个错误? 打开一个 PR。
想要一个功能? 同样在 GitHub!
## 📄 许可
MIT 许可证 - 可以随意使用。
---
**制作人:FiveDollaGobby** - 因为其他的欢迎插件要么已弃用,要么臃肿,要么对基本功能收费。 这个插件是免费的,而且永远都是免费的。