v1.1.0
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 初始化对
nullURL 防御式赋值,避免界面 NPE
- MinePad URL 为空值编码导致崩溃修复(
贡献与致谢
- 原始项目与创意来源归上游仓库及其作者所有
- 本地适配工作由多位 AI 大模型参与完成,辅助完成迁移、修复与文档编写
- 欢迎提交 Issue/PR,共同完善 1.21.1 的适配与修复
许可证
- 许可证遵循上游仓库约定(详见本仓库
LICENSE)
说明:本项目仍在持续迭代阶段,优先确保基础功能在 1.21.1 可用,其它外围与兼容性问题会逐步修复与完善。
Description