TeacherMa 万圣节：蛛网之夜 — 2026-10-08

环境来自用户指定的 C:\Projects\teacherma-fabric-intro：
Minecraft 1.21.1 / Java 21 / Fabric Loader 0.19.3 / Fabric API 0.116.15+1.21.1。
Mojang official mappings；沿用原 Gradle Wrapper 和 Fabric Loom 设置。

素材来源（网站根目录 C:\TeacherMa\NewWeb）：
assets/models/pumpkin-zombie-bat/pumpkin-zombie-bat-model.json
assets/models/witch/witch-model.json
artifacts/halloween-pumpkin/halloween-pumpkin-java-static.json
artifacts/halloween-pumpkin/halloween-pumpkin-skin.png
artifacts/halloween-pumpkin/halloween-pumpkin-glow-static.png
对应原始 Blockbench 工程保存在 model-source/，可在 Blockbench 中修改。
生成的 mesh JSON 记录来源与 SHA-256；纹理从模型内嵌 PNG 原样提取。
僵尸与蝙蝠从同一源场景拆成独立实体，蝙蝠调整坐标原点及尺寸。
原版蜘蛛网、铁块、黑曜石纹理由 Minecraft 自身提供，不在包内复制。

安装包不包含用户存档、日志、凭据、数据库、IDE 设置或 Gradle 缓存。
源码包包含构建文件、源代码、游戏测试、运行资源、原模型和说明。

自动化测试覆盖：墙面附着与实际命中位置、地面/天花板朝向、移动目标减速与跟随、
目标删除、支撑方块破坏、方块和实体附着存档恢复、十秒超时、重叠蛛网数量限制、
生存弹药与耐久、创造免弹药、地面生物 AI 发射、蝙蝠飞行与发射。
独立服务器游戏测试证明公共代码不依赖客户端类。客户端画面检查另见交付说明。

1.1 版素材实际验证结果：11/11 GameTest 通过；主程序与客户端编译成功；
Minecraft 客户端成功加载三种生物、南瓜灯、喷射器与墙面蛛网，实际右键命中女巫。
资源重载后再次检查最终模型尺寸。游戏实拍为 halloween-in-game.png。
实拍墙面贴网通过本地测试场景放置；实际碰撞与跟随行为由游戏测试和手动发射验证。
测试用场景数据包没有放入安装包或源码包。
独立导出脚本重新导出结果与交付网格几何/UV/贴图引用一致；JAR 资源逐字节核对通过。

参考开发文档：https://docs.fabricmc.net/develop/automatic-testing

1.2 永夜村更新：新增永久午夜的独立维度、六间小屋、森林、钟楼、墓园、沼泽、
南瓜田、祭坛、营地、环境雾效/粒子/声音、角色/补给和可重复使用的邀请函。
新场景建筑由 tools/build_nightfall.py 原创布置，原版资源只通过标识符引用。
最终测试结果见 docs/永夜村说明.txt 和交付说明。

1.4 狼人更新（2026-10-10）：
assets/models/werewolf/werewolf-model.json 原样复制到 model-source/werewolf-model.json。
原模型 SHA-256：77db79ed4e365b217270db286053bbb8571ccc3beebe4a5ce14e701750b4ea37。
87 个元素、522 个面、28 个骨骼、3 张原贴图、4 套原始关键帧动画。
export_werewolf.py 保留层级、枢轴、UV、旋转顺序、各通道关键帧及显隐缩放。
已逐项比较网站原模型：最大顶点导出误差 7.11e-15；三张 PNG 逐字节一致，
四套动画全部关键帧一致。模型和纹理沿用 ASSET-LICENSE.txt 的 TeacherMa 素材条款。
完整 20 项独立服务端 GameTest 通过，覆盖 10.01/10 格、完整变身、实际伤害、
停止追击、恢复人形、多人最近目标、创造/旁观/死亡排除、垂直距离和保存重载。
原场景 153272 方块及前 64 个角色保持一致，追加 6 个狼人，人口版本升为 3。
