ExtraGreetings

一个功能丰富的 Minecraft 服务器问候插件,具有可定制的粒子、标题、副标题、动作条、Boss 条、聊天消息等等。

资源图片
# 🎉 ExtraGreetings 一个功能丰富的 Minecraft 服务器问候插件,具有 **Folia 支持**、**Adventure API**、**MiniMessage**,并针对 **Minecraft 1.20.1+** 进行了优化。 ## ✨ 特色功能 - **🎭 可定制的加入问候语** - 使用标题、副标题、操作栏、Boss 条、粒子、音效和聊天消息欢迎玩家 - **🎪 首登检测** - 对新玩家和回访玩家显示不同的问候语 - **👑 VIP 支持** - 对具有权限的 VIP 玩家显示特别问候语(现在包括退出消息!) - **🚪 基于权限的退出消息** - VIP 和普通玩家的不同退出消息,具有不同的效果 - **⚡ Folia 兼容性** - 完全支持 Folia 的调度器 - **🎨 MiniMessage 支持** - 使用渐变、颜色和效果进行丰富的文本格式化 - **🔧 PlaceholderAPI 集成** - 支持自定义占位符 - **⏰ 冷却系统** - 使用可配置的冷却时间防止垃圾消息 - **🎯 命令执行** - 在加入/退出事件时运行命令 - **📊 内置统计数据** - 追踪玩家的加入情况和激活的功能 - **🔄 实时重新加载** - 在不重启服务器的情况下重新加载配置 - **🛠️ 配置更新器** - 自动配置更新,并具有备份系统 - **🧪 增强的测试命令** - 实际测试问候语,而不是仅仅记录 ## 📋 要求 - **Minecraft 1.20.1+** - **Folia** 或 **Paper** 服务器 - **Java 17+** - **可选**: 用于更多占位符的 PlaceholderAPI ## ⚙️ 配置 插件会在 `plugins/ExtraGreetings/config.yml` 生成默认配置文件的。这是一个例子: ```yaml # ExtraGreetings 配置 settings: enableJoin: true enableQuit: true cooldownSeconds: 60 debug: false joinDelay: 1 join: firstTime: title: "欢迎" subtitle: "%player% 第一次加入!" actionbar: "尽情享受吧!" bossbar: enable: true text: "欢迎, %player%!" color: BLUE style: SOLID duration: 10 particles: enable: true effect: "HEART" count: 50 offset: {x: 0.5, y: 1.0, z: 0.5} speed: 0.1 sound: enable: true effect: "ENTITY_PLAYER_LEVELUP" volume: 1.0 pitch: 1.0 message: "[+] %player% 第一次加入!" commands: - "give %player% diamond 1" - "broadcast &a欢迎新玩家 %player%!" recurring: title: "欢迎回来!" subtitle: "尽情享受吧!" message: "[+] %player% 回来了!" vip: enable: true title: "VIP 欢迎!" subtitle: "%player% VIP 的加入!" # ...更多 VIP 设置 quit: # VIP 退出问候语 (为具有 extragreetings.vip 权限的玩家) vip: message: "[VIP] %player% 离开了服务器!" particles: enable: true effect: "DRAGON_BREATH" count: 30 offset: {x: 0.5, y: 1.0, z: 0.5} speed: 0.15 sound: enable: true effect: "ENTITY_ENDER_DRAGON_FLAP" volume: 1.0 pitch: 1.2 commands: - "say VIP %player% 离开了服务器!" # 普通退出问候语 regular: message: "[-] %player% 离开了服务器。" particles: enable: true effect: "SMOKE_NORMAL" count: 20 offset: {x: 0.0, y: 0.5, z: 0.0} speed: 0.1 sound: enable: true effect: "ENTITY_HORSE_SADDLE" volume: 0.8 pitch: 1.0 commands: [] ``` ## 🎮 命令 | 命令 | 描述 | 权限 | |---------|-------------|------------| | `/extragreetings` | 显示帮助菜单 | `extragreetings.admin` | | `/extragreetings reload` | 重新加载配置 | `extragreetings.admin` | | `/extragreetings info` | 显示插件信息 | `extragreetings.admin` | | `/extragreetings stats` | 显示插件统计数据 | `extragreetings.admin` | | `/extragreetings debug [on/off]` | 切换调试模式 | `extragreetings.admin` | | `/extragreetings reset [data/cooldowns]` | 重置插件数据 | `extragreetings.admin` | | `/extragreetings test [join/quit]` | 测试问候语(实际触发!) | `extragreetings.admin` | | `/extragreetings update` | 更新配置到最新版本 | `extragreetings.admin` | **别名**: `/eg` ## 🔐 权限 | 权限 | 描述 | 默认值 | |------------|-------------|---------| | `extragreetings.admin` | 访问管理命令 | `op` | | `extragreetings.vip` | 接收 VIP 问候语(加入和退出) | `false` | | `extragreetings.bypass.cooldown` | 绕过问候语冷却时间 | `op` | ## 🛠️ 配置更新器 ### ✨ 特色: - **自动更新**: 插件启动时自动检查配置 - **保留注释**: 保持所有配置注释 - **备份系统**: 在更改之前创建带有时间戳的备份 - **手动更新**: 使用 `/extragreetings update` 强制更新 - **验证**: 检查无效的音效/粒子效果 ### 📁 备份位置: 备份存储在 `/plugins/ExtraGreetings/backups/config.yml.timestamp.bak` ### 🔄 工作原理: 1. **启动时**: 插件自动检查缺失的配置选项 2. **更新**: 使用默认值添加新的选项 3. **清理**: 删除过时的配置选项 4. **保留**: 保持您的所有自定义设置和注释 ### 📝 控制台消息: ``` [ExtraGreetings] 添加了缺失的配置选项:quit.vip.message [ExtraGreetings] 配置更新成功! [ExtraGreetings] 将配置备份到:config.yml.1234567890.bak ``` ## 🎨 MiniMessage 格式化 ExtraGreetings 支持完整的 MiniMessage 格式化: ```yaml title: "欢迎" subtitle: "%player% has joined!" actionbar: "Enjoy your stay!" message: "[+] %player% joined!" ``` **可用标签:** - ``, ``, ``, `` - ``, ``, ``, ``, etc. - ``, `` - ``, `` ## 🏷️ 占位符 ### 内置占位符 - `%player%` - 玩家名称 - `%player_displayname%` - 玩家显示名称 - `%player_uuid%` - 玩家 UUID - `%online_players%` - 在线玩家数量 - `%max_players%` - 最大玩家数量 - `%server_name%` - 服务器名称 - `%current_time%` - 当前时间 - `%server_uptime%` - 服务器运行时间 - `%plugin_version%` - 插件版本 ### PlaceholderAPI 支持 安装 PlaceholderAPI 后,您可以使用任何可用的占位符: - `%player_level%` - 玩家等级 - `%vault_eco_balance%` - 玩家余额 - `%luckperms_prefix%` - 玩家前缀 - 还有更多! ## 🎆 粒子效果 支持的粒子效果包括: - `HEART`, `VILLAGER_HAPPY`, `FLAME`, `SMOKE_NORMAL` - `EXPLOSION_LARGE`, `FIREWORKS_SPARK`, `ENCHANTMENT_TABLE` - `SNOWFLAKE`, `WATER_BUBBLE`, `REDSTONE` - **新**:`DRAGON_BREATH` (用于 VIP 退出问候语) - 以及所有其他 Bukkit 粒子类型 ## 🔊 音效 支持的音效包括: - `ENTITY_PLAYER_LEVELUP`, `ENTITY_EXPERIENCE_ORB_PICKUP` - `ENTITY_ENDER_DRAGON_GROWL`, `ENTITY_HORSE_SADDLE` - `BLOCK_ANVIL_USE`, `ENTITY_FIREWORK_ROCKET_LAUNCH` - **新**:`ENTITY_ENDER_DRAGON_FLAP` (用于 VIP 退出问候语) - 以及所有其他 Bukkit 音效 ## 🎯 Boss 条配置 ```yaml bossbar: enable: true text: "欢迎, %player%!" color: BLUE # BLUE, RED, GREEN, YELLOW, PURPLE, PINK, WHITE style: SOLID # SOLID, SEGMENTED_6, SEGMENTED_10, SEGMENTED_12, SEGMENTED_20 duration: 10 # 持续时间(秒) ``` ## 🔧 高级配置 ### 自定义命令 在玩家加入或退出时执行命令: ```yaml commands: - "give %player% diamond 1" - "broadcast &a欢迎 %player%!" - "tp %player% spawn" ``` ### VIP 配置 VIP 玩家的特殊问候语(加入和退出): ```yaml vip: enable: true title: "VIP 欢迎!" # 玩家需要 extragreetings.vip 权限 ``` ### 基于权限的退出消息 根据权限显示不同的退出消息: - **VIP 玩家** (`extragreetings.vip`):带有龙粒子特效的特殊退出效果 - **普通玩家**:标准的退出消息 ### 冷却系统 防止问候语垃圾消息: ```yaml settings: cooldownSeconds: 60 # 冷却时间(秒) joinDelay: 1 # 显示问候语前的延迟 ``` ## 📊 统计数据 使用 `/extragreetings stats` 查看: - 加入过的总玩家数 - 激活的冷却时间 - 激活的 Boss 条 - 插件状态 ## 🧪 测试系统 ### 用法: - `/extragreetings test join` - 测试加入问候语(实际显示效果!) - `/extragreetings test quit` - 测试退出问候语(实际显示效果!) ### 特色: - **实际触发**: 显示真实的问候语,而不是仅仅记录 - **权限检测**: 自动检测 VIP 状态 - **反馈**: 显示正在触发哪种类型的问候语 - **错误处理**: 如果发生任何问题,将提供清晰的错误消息 ## 🐛 故障排除 ### 常见问题 1. **问候语不显示**: 检查配置中是否启用了加入/退出事件 2. **粒子不生成**: 验证粒子效果名称是否正确 3. **声音不播放**: 检查声音效果名称和音量设置 4. **PlaceholderAPI 不起作用**: 确保已安装并加载了 PlaceholderAPI 5. **配置没有更新**: 使用 `/extragreetings update` 强制更新 ### 调试模式 启用调试模式以查看详细的日志记录: ```yaml settings: debug: true ``` 或者使用命令:`/extragreetings debug on` ## 🔄 迁移 ### 从其他问候插件 1. **停止您的服务器** 2. **删除旧插件和数据文件** 3. **安装 ExtraGreetings** 4. **使用本指南配置** 新插件 5. **启动您的服务器** ## 🤝 支持 - **Discord**: [加入我们的 Discord](https://discord.gg/WPYVPGbKZc)