初始化项目
This commit is contained in:
458
插件投入使用测试流程.md
Normal file
458
插件投入使用测试流程.md
Normal file
@@ -0,0 +1,458 @@
|
||||
## 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. 投入使用判定
|
||||
|
||||
允许投入使用必须同时满足:
|
||||
- 构建验证通过。
|
||||
- 服务端启动验证通过。
|
||||
- 命令验证通过。
|
||||
- 属性面板验证通过。
|
||||
- 战斗属性验证通过。
|
||||
- 耐久系统验证通过。
|
||||
- 重载与缓存验证通过。
|
||||
- 无高风险控制台异常。
|
||||
|
||||
若任一核心战斗属性未通过,结论为不允许投入使用。
|
||||
Reference in New Issue
Block a user