# WebDisplays(NeoForge 1.21.1 适配版) 本仓库来源于原始项目并在本地克隆后进行适配与修复: - 上游仓库:`https://github.com/CinemaMod/webdisplays.git` - 本分支目标:适配 Minecraft 1.21.1(NeoForge)并在可用范围内修复关键问题 - 大量代码改动由多位 AI 大模型辅助完成(自动化迁移、代码生成、问题定位与修复) ## 当前状态 - 完成基础功能适配(屏幕方块、模型加载、基础网络消息、MinePad 使用流程等) - 修复 MinePad 初次使用时 URL 为空导致的崩溃(自定义负载编码 NPE) - 调整屏幕模型贴图加载逻辑(通过 `assets/webdisplays/atlases/blocks.json` 注册 `screen0..screen15` 贴图) - 默认主页为 `https://git.lnkos.cn`(`CommonConfig.Browser.homepage`) - 已验证可构建并产出 JAR(Windows,JDK 21,NeoGradle) ## 已知问题(进行中) - 外置键盘(左/右部件)在某些朝向或交互下存在异常 - 屏幕边框/部分贴图在某些资源包或拼图场景下异常(已加入图集声明,但仍需进一步兼容性验证) - 代码中存在一定数量的弃用/迁移警告(不影响构建,后续逐步清理) ## 构建环境与依赖 - JDK:`21` - 构建:`Gradle Wrapper`(已内置) - Mod 平台:`NeoForge 1.21.1` - 建议依赖:`MCEF (com.cinemamod:mcef-neoforge)` 对应 1.21.1 版本 ## 本地构建 在仓库根目录执行: - Windows:`./gradlew.bat build -x test` - 其他平台:`./gradlew build -x test` 构建成功后,JAR 位于 `build/libs/`。 ## 安装与试用 - 将生成的 `webdisplays-*.jar` 放入 `mods/` - 确保安装对应版本的 `NeoForge` 与 `MCEF` - 启动 1.21.1 客户端,创建世界,放置屏幕方块进行验证 ## 主要改动摘要 - 屏幕自定义模型:`ScreenModelLoader`/`ScreenBaker` - 通过 `atlases/blocks.json` 将 `screen0..screen15` 注册至方块图集 - 自定义烘焙模型以实现屏幕边框/连接效果 - 网络与数据修复: - MinePad URL 为空值编码导致崩溃修复(`C2SMessageMinepadUrl` 编码前对 `null` 处理) - GUI 初始化对 `null` URL 防御式赋值,避免界面 NPE ## 贡献与致谢 - 原始项目与创意来源归上游仓库及其作者所有 - 本地适配工作由多位 AI 大模型参与完成,辅助完成迁移、修复与文档编写 - 欢迎提交 Issue/PR,共同完善 1.21.1 的适配与修复 ## 许可证 - 许可证遵循上游仓库约定(详见本仓库 `LICENSE`) --- 说明:本项目仍在持续迭代阶段,优先确保基础功能在 1.21.1 可用,其它外围与兼容性问题会逐步修复与完善。