9.6 KiB
9.6 KiB
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 执行构建
命令:
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 权限验证
无权限玩家执行:
/att
/repair repair
/myitems reload
通过标准:
- 无权限玩家不能执行管理功能。
- 控制台无异常。
6.2 属性写入验证
管理员手持普通物品,依次执行:
/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 槽位写入验证
执行:
/att slot MAIN_HAND
/att slot OFF_HAND
/att slot HELMET
/att slot CHESTPLATE
/att slot LEGGINGS
/att slot BOOTS
通过标准:
- 每个合法槽位都能写入。
- 物品放入对应槽位时属性生效。
- 放入不匹配槽位时属性不生效。
6.4 耐久写入验证
执行:
/att durability 10 10
通过标准:
- Lore 显示耐久。
- 当前耐久和最大耐久一致。
- 无异常。
7. 物品模板验证
7.1 重载模板
执行:
/myitems reload
通过标准:
- 控制台显示模板加载数量。
- 坏模板只跳过自身。
- 好模板仍可生成。
7.2 生成模板物品
执行:
/myitems give xygjx
通过标准:
- 玩家获得物品。
- 名称、Lore、品质、属性、耐久均正确。
- 单值属性配置可正常解析。
- 区间属性配置可正常随机。
8. 属性面板验证
执行:
/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 修复命令
执行:
/repair repair
/repair repairall
/repair repair <玩家名>
/repair repairall <玩家名>
通过标准:
- 目标玩家为空时给出提示,不报错。
- 指定玩家时修复目标玩家物品。
- 修复后属性刷新。
11. 重载与缓存验证
操作:
- 穿戴属性装备。
- 打开属性面板记录属性。
- 执行
/myitems reload。 - 切换装备或重新打开面板。
通过标准:
- reload 不报错。
- 已穿戴装备属性不丢失。
- 新模板配置生效。
- 玩家属性缓存能正确刷新。
12. 下线与资源释放验证
操作:
- 玩家穿戴属性装备。
- 进入战斗。
- 玩家退出服务器。
- 玩家重新进入。
通过标准:
- 退出时缓存释放。
- 重新进入后属性重新计算。
- 移速和生命值不残留异常。
13. 实体属性 API 验证
使用插件内部或临时测试命令给实体写入:
physical_defensepve_defenseblock_chancevampire_chancepenetrationmove_speed
通过标准:
- 已支持的字符串能映射到正确属性。
- 实体死亡或区块卸载后属性缓存释放。
14. 回归检查清单
- 构建通过。
- plugin.yml 版本正确。
- CraftEngine 已安装且先于本插件加载。
- 物品模板加载数量符合预期。
/att stats支持所有 AttributeType。- Lore 不出现缺失节点。
- GUI 属性完整显示。
- 穿透按概率触发并无视防御。
- 格挡按概率触发并减伤反伤。
- 吸血按概率触发并回血。
- 破损装备属性失效。
- 修复命令修复目标正确。
- reload 后无异常。
- 玩家退出后无属性残留。
- jar 未打入 SQLite、HikariCP、CraftEngine 类。
15. 投入使用判定
允许投入使用必须同时满足:
- 构建验证通过。
- 服务端启动验证通过。
- 命令验证通过。
- 属性面板验证通过。
- 战斗属性验证通过。
- 耐久系统验证通过。
- 重载与缓存验证通过。
- 无高风险控制台异常。
若任一核心战斗属性未通过,结论为不允许投入使用。