## AuMyItems 投入使用测试流程 生成时间:2026-07-08 05:05:00 ### 1. 测试目标 确认插件满足以下条件后,才允许投入使用: - 插件可完成 Maven 构建。 - 服务端可正常启动并加载插件。 - CraftEngine 依赖可被服务端识别。 - 物品模板可加载。 - 属性写入、读取、展示、生效链路正常。 - 穿透、格挡、吸血语义符合当前设计。 - 耐久扣减、破损失效、修复逻辑正常。 - reload 不产生异常或旧数据残留。 ### 2. 测试环境要求 - Java:21 - 服务端:Paper 1.21.11 - 必装依赖:CraftEngine 26.5.1 - 插件版本:1.0.7 - 测试账号:至少 2 个玩家账号 - 推荐准备: - 一个测试平坦世界 - 一个普通怪物生成区 - 一个 PVP 测试区域 - 控制台日志实时可见 ### 3. 构建验证 #### 3.1 执行构建 命令: ```bash mvn -q -DskipTests package ``` 通过标准: - 命令退出码为 0。 - 生成插件 jar。 - 控制台无编译错误。 失败处理: - 如果 CraftEngine 依赖解析失败,先检查 Maven 仓库配置。 - 如果 Maven 插件下载失败,先处理本机网络或 Maven 缓存。 - 构建失败不得进入服务端测试。 #### 3.2 检查插件描述文件 检查 jar 内 `plugin.yml`: - `version` 必须是 `1.0.7`。 - `depend` 必须包含 `CraftEngine`。 - `main` 必须指向主类。 通过标准: - jar 内版本号与发布版本一致。 - 没有连续构建沿用旧版本号。 #### 3.3 检查依赖打包 检查 jar 内容: - 不得包含 `org/sqlite/**` - 不得包含 `com/zaxxer/hikari/**` - 不得包含 `net/momirealms/craftengine/**` 通过标准: - 上述类路径均不存在。 ### 4. 服务端启动验证 #### 4.1 安装插件 将以下插件放入服务端插件目录: - CraftEngine - AuMyItems 启动服务端。 通过标准: - 控制台无红色报错。 - AuMyItems 正常启用。 - CraftEngine 在 AuMyItems 前完成加载。 - 控制台出现物品模板加载数量日志。 失败处理: - 若提示缺少 CraftEngine,检查依赖插件文件名、版本和加载顺序。 - 若模板加载报错,记录具体物品 ID 和原因。 ### 5. 配置加载验证 #### 5.1 默认配置生成 删除测试服中的旧插件数据目录后启动一次。 通过标准: - 默认配置文件生成。 - 默认语言文件生成。 - 默认物品模板生成。 - 无启动异常。 #### 5.2 旧配置兼容 使用旧版本配置启动。 通过标准: - 缺失新配置不会导致插件无法启动。 - 模板错误只跳过单个物品,不影响其他模板加载。 - 控制台能明确提示错误物品和原因。 ### 6. 命令验证 #### 6.1 权限验证 无权限玩家执行: ```text /att /repair repair /myitems reload ``` 通过标准: - 无权限玩家不能执行管理功能。 - 控制台无异常。 #### 6.2 属性写入验证 管理员手持普通物品,依次执行: ```text /att stats PHYSICAL_ATTACK 100 /att stats PHYSICAL_DEFENSE 50 /att stats PVE_ATTACK 30 /att stats PVE_DEFENSE 20 /att stats MAX_HEALTH_BONUS 40 /att stats CRIT_CHANCE 100 /att stats CRIT_DAMAGE 100 /att stats HIT_CHANCE 100 /att stats DODGE_CHANCE 100 /att stats PENETRATION 100 /att stats BLOCK_CHANCE 100 /att stats VAMPIRE_CHANCE 100 /att stats MOVE_SPEED 50 ``` 通过标准: - 每条命令返回成功提示。 - 物品 Lore 显示对应属性。 - 不出现“未找到节点”文案。 - 控制台无异常。 #### 6.3 槽位写入验证 执行: ```text /att slot MAIN_HAND /att slot OFF_HAND /att slot HELMET /att slot CHESTPLATE /att slot LEGGINGS /att slot BOOTS ``` 通过标准: - 每个合法槽位都能写入。 - 物品放入对应槽位时属性生效。 - 放入不匹配槽位时属性不生效。 #### 6.4 耐久写入验证 执行: ```text /att durability 10 10 ``` 通过标准: - Lore 显示耐久。 - 当前耐久和最大耐久一致。 - 无异常。 ### 7. 物品模板验证 #### 7.1 重载模板 执行: ```text /myitems reload ``` 通过标准: - 控制台显示模板加载数量。 - 坏模板只跳过自身。 - 好模板仍可生成。 #### 7.2 生成模板物品 执行: ```text /myitems give xygjx ``` 通过标准: - 玩家获得物品。 - 名称、Lore、品质、属性、耐久均正确。 - 单值属性配置可正常解析。 - 区间属性配置可正常随机。 ### 8. 属性面板验证 执行: ```text /myitems gui ``` 通过标准: - GUI 可打开。 - 攻击属性显示: - 物理攻击 - PVE 攻击 - 暴击概率 - 暴击伤害 - 命中几率 - 护甲穿透 - 吸血几率 - 防御属性显示: - 物理防御 - PVE 防御 - 生命提升 - 闪避几率 - 格挡几率 - 移速加成 - 点击 GUI 不会取出展示物品。 ### 9. 战斗属性验证 #### 9.1 基础伤害 准备: - 攻击者主手武器设置 `PHYSICAL_ATTACK 100` - 目标不穿任何装备 操作: - 攻击目标。 通过标准: - 伤害明显高于无属性武器。 - ActionBar 显示伤害数字。 #### 9.2 防御减伤 准备: - 目标装备设置 `PHYSICAL_DEFENSE 1000` - 攻击者武器设置 `PHYSICAL_ATTACK 100` 通过标准: - 目标受到伤害低于无防御状态。 #### 9.3 穿透触发 准备: - 攻击者武器设置 `PENETRATION 100` - 目标装备设置高额 `PHYSICAL_DEFENSE` 操作: - 攻击目标多次。 通过标准: - 每次都应触发穿透。 - ActionBar 出现穿透提示。 - 伤害应接近无防御状态,而不是按防御减伤。 #### 9.4 格挡触发 准备: - 目标装备设置 `BLOCK_CHANCE 100` - 攻击者武器设置稳定攻击属性。 操作: - 攻击目标。 通过标准: - 每次都应触发格挡。 - 目标 ActionBar 出现格挡提示。 - 目标受到最终伤害降低约 50%。 - 攻击者受到反伤。 - 反伤不会造成无限递归触发。 #### 9.5 吸血触发 准备: - 攻击者武器设置 `VAMPIRE_CHANCE 100` - 攻击者先损失生命值。 操作: - 攻击目标。 通过标准: - 每次都应触发吸血。 - ActionBar 出现吸血提示。 - 攻击者生命恢复。 - 恢复量不超过最大生命值。 #### 9.6 暴击触发 准备: - 攻击者武器设置 `CRIT_CHANCE 100` - 攻击者武器设置 `CRIT_DAMAGE 100` 通过标准: - 每次攻击都显示暴击。 - 最终伤害高于非暴击伤害。 #### 9.7 闪避触发 准备: - 目标装备设置 `DODGE_CHANCE 100` - 攻击者不设置额外命中。 通过标准: - 目标应频繁或稳定闪避,具体取决于命中公式钳制。 - 闪避时事件取消,伤害为 0。 #### 9.8 PVE 属性 准备: - 攻击者武器设置 `PVE_ATTACK 100` - 怪物装备或实体属性设置 `PVE_DEFENSE` 通过标准: - 玩家攻击怪物时 PVE 攻击参与计算。 - 玩家攻击玩家时不应使用 PVE 攻击加成。 ### 10. 耐久系统验证 #### 10.1 攻击扣耐久 准备: - 主手武器设置耐久 `3/3` 操作: - 攻击实体 3 次。 通过标准: - 每次攻击后耐久减少。 - 耐久归零后发送破损提示。 - 破损后该装备属性失效。 #### 10.2 受击扣护甲耐久 准备: - 护甲设置耐久 `3/3` 操作: - 让玩家受到伤害 3 次。 通过标准: - 护甲耐久减少。 - 耐久归零后发送对应部位破损提示。 - 破损后该装备属性失效。 #### 10.3 工具挖掘扣耐久 准备: - 镐或斧设置耐久 `3/3` 操作: - 挖掘方块 3 次。 通过标准: - 工具耐久减少。 - 耐久归零后阻止继续使用。 #### 10.4 修复命令 执行: ```text /repair repair /repair repairall /repair repair <玩家名> /repair repairall <玩家名> ``` 通过标准: - 目标玩家为空时给出提示,不报错。 - 指定玩家时修复目标玩家物品。 - 修复后属性刷新。 ### 11. 重载与缓存验证 操作: 1. 穿戴属性装备。 2. 打开属性面板记录属性。 3. 执行 `/myitems reload`。 4. 切换装备或重新打开面板。 通过标准: - reload 不报错。 - 已穿戴装备属性不丢失。 - 新模板配置生效。 - 玩家属性缓存能正确刷新。 ### 12. 下线与资源释放验证 操作: 1. 玩家穿戴属性装备。 2. 进入战斗。 3. 玩家退出服务器。 4. 玩家重新进入。 通过标准: - 退出时缓存释放。 - 重新进入后属性重新计算。 - 移速和生命值不残留异常。 ### 13. 实体属性 API 验证 使用插件内部或临时测试命令给实体写入: - `physical_defense` - `pve_defense` - `block_chance` - `vampire_chance` - `penetration` - `move_speed` 通过标准: - 已支持的字符串能映射到正确属性。 - 实体死亡或区块卸载后属性缓存释放。 ### 14. 回归检查清单 - [ ] 构建通过。 - [ ] plugin.yml 版本正确。 - [ ] CraftEngine 已安装且先于本插件加载。 - [ ] 物品模板加载数量符合预期。 - [ ] `/att stats` 支持所有 AttributeType。 - [ ] Lore 不出现缺失节点。 - [ ] GUI 属性完整显示。 - [ ] 穿透按概率触发并无视防御。 - [ ] 格挡按概率触发并减伤反伤。 - [ ] 吸血按概率触发并回血。 - [ ] 破损装备属性失效。 - [ ] 修复命令修复目标正确。 - [ ] reload 后无异常。 - [ ] 玩家退出后无属性残留。 - [ ] jar 未打入 SQLite、HikariCP、CraftEngine 类。 ### 15. 投入使用判定 允许投入使用必须同时满足: - 构建验证通过。 - 服务端启动验证通过。 - 命令验证通过。 - 属性面板验证通过。 - 战斗属性验证通过。 - 耐久系统验证通过。 - 重载与缓存验证通过。 - 无高风险控制台异常。 若任一核心战斗属性未通过,结论为不允许投入使用。