PlayerTitle-Suit 米饭称号附属-称号套装-GUI-1.4.1

原创 闭源 娱乐 PlayerTitle-Suit 米饭称号附属-称号套装-GUI-1.4.1 1.4.1

请登录后获取
版权类型
原创
插件中文名称
称号套装
插件英文名称
PlayerTitle-Suit
原帖地址
#
支持的核心(服务端)
  1. Spigot
  2. Paper
  3. Folia
  4. Purpur
  5. PufferFish
  6. Leaves
语言支持
中文(简体)
前置组件
PlayerTitle
AttributePlus-3.x
PlaceholderAPI
适配版本(Java)
  1. 1.21
  2. 1.20
  3. 1.19
[MD] ## ✨ 功能特性 - 🎭 **套装系统**: 配置多个称号组成套装 - 📊 **阶梯效果**: 收集不同数量称号获得不同属性加成 - 🔄 **累加模式**: 支持阶梯属性累加(2件套+4件套属性共存) - ⚔️ **AttributePlus集成**: 使用AP3持久化和静态属性源,性能优异 - 🖥️ **GUI界面**: 美观的图形界面查看和激活套装 - 🎮 **手动激活**: 玩家在GUI中手动激活/取消套装 - 🎯 **条件限制**: 支持等级、权限、世界、变量等激活条件 - 📝 **PlaceholderAPI**: 提供丰富的变量支持,可显示称号套装进度 - 💾 **数据持久化**: 玩家套装激活状态和属性永久保存 - 🔧 **热重载**: 支持配置文件热重载,属性自动更新 ## 📦 依赖插件 | 插件 | 要求 | 说明 | |------|------|------| | PlayerTitle | 必须 | 称号插件本体 | | AttributePlus | 必须 | 属性插件 (3.x) | | PlaceholderAPI | 可选 | 变量支持 (条件判断需要) | ## 🖥️ GUI 界面 ### 套装列表界面 - 显示所有套装及收集进度 - 进度条可视化展示 - 已激活套装显示附魔效果 - 支持分页浏览 - 刷新按钮、统计信息 ### 套装详情界面 - 套装完整信息展示 - 左侧显示所需称号(✔已拥有 / ✘未拥有) - 右侧显示阶梯效果及属性加成 - **激活按钮**: 点击激活套装获得属性加成 - **取消按钮**: 点击取消激活移除属性 - **升级按钮**: 收集更多称号后升级阶梯 ## 📋 命令 ### 玩家命令 | 命令 | 权限 | 说明 | |------|------|------| | `/titlessuit` | - | 打开套装GUI | | `/titlessuit open` | - | 打开套装GUI | | `/titlessuit list` | - | 查看所有套装(文字) | | `/titlessuit info <套装ID>` | - | 查看套装详情(含条件状态) | | `/titlessuit check [玩家]` | - | 检查套装状态 | ### 管理员命令 | 命令 | 权限 | 说明 | |------|------|------| | `/titlessuit reload` | titlessuit.command.reload | 重载配置(自动更新所有玩家属性) | | `/titlessuit refresh [玩家/all]` | titlessuit.command.refresh | 刷新套装属性 | | `/titlessuit forceupdate [玩家/all]` | titlessuit.command.refresh | 强制更新套装(refresh别名) | | `/titlessuit give <玩家> <套装ID> [阶梯]` | titlessuit.command.give | 强制为玩家激活套装 | | `/titlessuit remove <玩家> <套装ID>` | titlessuit.command.remove | 强制移除玩家套装 | | `/titlessuit save` | titlessuit.command.save | 保存所有玩家数据 | | `/titlessuit debug <on/off>` | titlessuit.command.debug | 调试模式 | **命令别名**: `/tsuit`, `/ts`, `/套装` ### `/titlessuit info` 输出示例 ``` === 套装详情 === ID: dragon_set 名称: §6§l龙之霸主 描述: §7传说中的龙之套装 需要的称号 (4): §7- 龙之子 §8(ID:1) §a✔ §7- 龙之怒 §8(ID:2) §a✔ §7- 龙之魂 §8(ID:3) §c✘ §7- 龙之王 §8(ID:4) §c✘ 激活条件: §7- 等级要求: §f30 §a✔ §7(当前: 35) §7- §a等级要求: §f>= 50 §c✘ §7(当前: 35) §7- §e金币要求: §f>= 100000 §c✘ §7(当前: 50000) 阶梯效果: §b2件套: §7物理伤害: 30 §7生命力: 100 §b4件套: §7物理伤害: 200 §7生命力: 800 你的进度: §f2/4 §7(50%) §c✘ 无法激活套装 ``` > 命令会显示所有激活条件(等级、权限、世界、变量条件)及其当前状态(✔满足 / ✘不满足),并在括号中显示当前值。 ## 🔑 权限 | 权限 | 说明 | 默认 | |------|------|------| | titlessuit.command | 基础命令权限 | 所有人 | | titlessuit.admin | 管理员权限 | OP | | titlessuit.command.reload | 重载配置 | OP | | titlessuit.command.check | 检查其他玩家套装状态 | OP | | titlessuit.command.refresh | 刷新套装属性 | OP | | titlessuit.command.give | 强制给玩家激活套装 | OP | | titlessuit.command.remove | 强制移除玩家套装 | OP | | titlessuit.command.save | 保存玩家数据 | OP | | titlessuit.command.debug | 调试模式 | OP | ## 📊 PlaceholderAPI 变量 > **重要**: 变量前缀为 `titlessuit`(无下划线),因为 PlaceholderAPI 使用下划线分隔标识符和参数 ### 基础变量 | 变量 | 说明 | 示例输出 | |------|------|---------| | `%titlessuit_count%` | 已激活套装数量 | `3` | | `%titlessuit_list%` | 已激活套装列表 | `龙之霸主, 元素掌控者` | | `%titlessuit_total%` | 服务器套装总数 | `10` | ### 套装相关变量 | 变量 | 说明 | 示例输出 | |------|------|---------| | `%titlessuit_<套装ID>_activated%` | 套装是否激活 | `true` / `false` | | `%titlessuit_<套装ID>_tier%` | 当前激活阶梯 | `4` | | `%titlessuit_<套装ID>_progress%` | 收集进度 | `2/4` | | `%titlessuit_<套装ID>_percent%` | 收集百分比 | `50%` | | `%titlessuit_<套装ID>_name%` | 套装名称 | `龙之霸主` | | `%titlessuit_<套装ID>_missing%` | 缺少称号数量 | `2` | | `%titlessuit_<套装ID>_owned%` | 已拥有称号数量 | `2` | | `%titlessuit_<套装ID>_required%` | 需要的称号总数 | `4` | | `%titlessuit_<套装ID>_canactivate%` | 是否可以激活 | `true` / `false` | | `%titlessuit_<套装ID>_maxtier%` | 可达到的最高阶梯 | `2` | | `%titlessuit_<套装ID>_status%` | 套装状态 | `已激活` / `可激活` / `称号不足` / `条件不满足` | ### 称号相关变量 ⭐新增 | 变量 | 说明 | 示例输出 | |------|------|---------| | `%titlessuit_title_<称号ID>_info%` | 该称号所属套装及进度 | `龙之霸主 (2/4), 元素掌控者 (1/5)` | | `%titlessuit_title_<称号ID>_names%` | 该称号所属套装名称 | `龙之霸主, 元素掌控者` | > **使用场景**: 可在 PlayerTitle 的称号 Lore 中添加这些变量,让玩家查看称号时直接看到套装收集进度! ## 📁 配置文件 | 文件 | 说明 | |------|------| | `config.yml` | 主配置文件 | | `suits.yml` | 套装配置文件 | | `messages.yml` | 消息配置文件 | | `gui.yml` | GUI界面配置文件 | | `playerdata/` | 玩家数据目录 (自动生成) | ## 🔧 配置说明 ### 套装配置项 | 配置项 | 类型 | 默认值 | 说明 | |--------|------|--------|------| | name | String | 套装ID | 套装名称 (支持颜色代码) | | cumulative | Boolean | false | 是否累加阶梯属性 | | description | List | `[]` | 套装描述 | | required_titles | List | 必填 | 需要的称号ID列表 | | conditions.min_level | Int | 0 | 最低等级要求 | | conditions.permission | String | 无 | 权限要求 | | conditions.world | String | 无 | 世界限制 | | conditions.placeholders | List | `[]` | 变量条件列表 (PlaceholderAPI) | | tiers | Map | 必填 | 阶梯效果配置 | | commands | List | `[]` | 全套激活时执行的命令 | ### 累加模式说明 - **cumulative: false** (默认): 只激活最高阶梯的属性 - 示例: 玩家拥有 4 件套时,只有 4 件套的属性生效,2 件套属性会被移除 - **cumulative: true**: 激活所有达成阶梯的属性(累加) - 示例: 玩家拥有 4 件套时,2 件套 + 3 件套 + 4 件套的属性全部生效 ### 变量条件配置 支持使用 PlaceholderAPI 变量作为激活条件,格式:`%变量% 比较符 值` **支持的比较符:** | 比较符 | 说明 | 示例 | |--------|------|------| | `==` | 等于 | `%player_name% == Steve` | | `!=` | 不等于 | `%player_world% != world_nether` | | `>` | 大于 | `%player_level% > 30` | | `<` | 小于 | `%statistic_time_played% < 72000` | | `>=` | 大于等于 | `%vault_eco_balance% >= 10000` | | `<=` | 小于等于 | `%player_health% <= 20` | | `contains` | 包含 | `%faction_name% contains Test` | | `!contains` | 不包含 | `%player_displayname% !contains [VIP]` | **格式1 - 简单列表:** ```yaml conditions: min_level: 30 placeholders: - "%vault_eco_balance% >= 50000" - "%player_level% >= 30" - "%faction_power% > 100" ``` **格式2 - 带自定义显示名(用于GUI显示):** ```yaml conditions: min_level: 30 placeholders: 1: condition: "%vault_eco_balance% >= 50000" display: "&e金币要求" 2: condition: "%player_level% >= 30" display: "&b等级要求" ``` 带显示名格式在GUI中会显示为 `金币要求: 当前值/50000`,更加直观易懂。 ### 多套装支持 **完美支持!** 如果一个称号同时属于多个套装,变量会自动显示所有相关套装的进度,用逗号分隔: **示例**: 称号 #5 属于 3 个套装 ``` 输出: 龙之霸主 (2/4), 元素掌控者 (1/5), VIP尊享 (3/3) ``` ## ❓ 常见问题 (FAQ) 插件开发交流群:1072832808 ### Q1: 修改套装属性后需要重启吗? **A**: 不需要!执行 `/ts reload` 即可,所有玩家的属性会自动更新为新配置的数值。 ### Q2: 玩家获得新称号后套装没有激活? **A**: 如果是非自动模式,玩家需要打开GUI手动激活。如果是自动模式: - 等待定时检查(如果开启) - 玩家切换一次称号 - 使用 `/ts forceupdate <玩家名>` 强制更新 ### Q3: 累加模式和非累加模式有什么区别? **A**: - **非累加** (cumulative: false): 4件套激活时,只有4件套属性,2件套属性被移除 - **累加** (cumulative: true): 4件套激活时,2+3+4件套属性全部生效 ### Q4: 属性没有生效怎么办? **A**: 检查以下内容: 1. 属性名是否与 AttributePlus 的 `attribute.yml` 一致 2. 属性格式是否正确(注意空格和冒号) 3. 开启 `debug: true` 查看详细日志 4. 使用 `/ap stats <玩家名>` 查看 AP 属性源中是否有 `playertitle_suit_` 开头的属性 ### Q5: 如何让称号显示套装进度? **A**: 在 PlayerTitle 的称号配置中添加: ```yaml lore: - "%titlessuit_title_<称号ID>_info%" ``` 详见 [称号套装进度显示](#-称号套装进度显示playertitle-集成) 章节。 ### Q6: 如何强制清除玩家的套装属性? **A**: 方法1(推荐): ``` /ts remove <玩家名> <套装ID> ``` 方法2(彻底清除): ``` /ap takeattr <玩家名> playertitle_suit_* ``` ### Q7: 数据库类型如何选择? **A**: - **SQLite** (默认): 适合小型服务器(<100人),无需额外配置 - **MySQL**: 适合大型服务器或多服跨服共享数据 ## 🎯 高级功能 ### 累加模式实战案例 **场景**: 龙之系列套装,希望玩家收集越多属性越强 ```yaml dragon_set: name: "&6&l龙之霸主" cumulative: true # 开启累加 required_titles: [1, 2, 3, 4, 5, 6] tiers: 2: attributes: ["物理伤害: 50", "生命力: 200"] 4: attributes: ["暴击几率: 10%", "暴击伤害: 30%"] 6: attributes: ["吸血几率: 15%", "移动速度: 10%"] ``` **效果**: - 2件套:物理伤害+50, 生命力+200 - 4件套:物理伤害+50, 生命力+200, 暴击几率+10%, 暴击伤害+30% - 6件套:上述全部 + 吸血几率+15%, 移动速度+10% ### 变量条件高级用法 **场景**: VIP套装,需要满足金币、等级、游戏时长三项条件 ```yaml vip_set: conditions: placeholders: 1: condition: "%vault_eco_balance% >= 1000000" display: "&e金币" 2: condition: "%player_level% >= 100" display: "&b等级" 3: condition: "%statistic_time_played% >= 144000" display: "&d游戏时长" ``` 在 GUI 中会显示为: ``` 激活条件: - 金币: ≥1000000 - 等级: ≥100 - 游戏时长: ≥144000 ``` ### 命令执行示例 **阶梯命令**: 每个阶梯可以执行不同命令 ```yaml tiers: 2: commands: - "say %player% 激活了2件套!" - "effect give %player% minecraft:speed 30 1" 4: commands: - "say %player% 激活了4件套!" - "title %player% title {\"text\":\"龙之传人\"}" ``` **全套命令**: 只在达到最高阶梯时执行 ```yaml commands: - "broadcast &6%player% 完成了龙之霸主套装!" - "give %player% diamond 64" [/MD]
  • 1768112552464.webp
    1768112552464.webp
    20.1 KB · 查看: 70
  • 喜欢
反馈: ヽ米 饭
作者
小烨XiaoYe
价格
100.00金粒
下载
27
查看
1,162
首次发布
最后更新

评分

0.00 星 0 次评分

小烨XiaoYe 的其他资源

最新更新

  1. 1.4.1 修复 调试信息强制输出

    1.4.1 修复 调试信息强制输出
后退
顶部 底部