Files
webdisplays1.21.1/README.md
2025-10-31 13:53:49 +08:00

2.6 KiB
Raw Blame History

WebDisplaysNeoForge 1.21.1 适配版)

本仓库来源于原始项目并在本地克隆后进行适配与修复:

  • 上游仓库:https://github.com/CinemaMod/webdisplays.git
  • 本分支目标:适配 Minecraft 1.21.1NeoForge并在可用范围内修复关键问题
  • 大量代码改动由多位 AI 大模型辅助完成(自动化迁移、代码生成、问题定位与修复)

当前状态

  • 完成基础功能适配屏幕方块、模型加载、基础网络消息、MinePad 使用流程等)
  • 修复 MinePad 初次使用时 URL 为空导致的崩溃(自定义负载编码 NPE
  • 调整屏幕模型贴图加载逻辑(通过 assets/webdisplays/atlases/blocks.json 注册 screen0..screen15 贴图)
  • 默认主页为 https://git.lnkos.cnCommonConfig.Browser.homepage
  • 已验证可构建并产出 JARWindowsJDK 21NeoGradle

已知问题(进行中)

  • 外置键盘(左/右部件)在某些朝向或交互下存在异常
  • 屏幕边框/部分贴图在某些资源包或拼图场景下异常(已加入图集声明,但仍需进一步兼容性验证)
  • 代码中存在一定数量的弃用/迁移警告(不影响构建,后续逐步清理)

构建环境与依赖

  • JDK21
  • 构建: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/
  • 确保安装对应版本的 NeoForgeMCEF
  • 启动 1.21.1 客户端,创建世界,放置屏幕方块进行验证

主要改动摘要

  • 屏幕自定义模型:ScreenModelLoader/ScreenBaker
    • 通过 atlases/blocks.jsonscreen0..screen15 注册至方块图集
    • 自定义烘焙模型以实现屏幕边框/连接效果
  • 网络与数据修复:
    • MinePad URL 为空值编码导致崩溃修复(C2SMessageMinepadUrl 编码前对 null 处理)
    • GUI 初始化对 null URL 防御式赋值,避免界面 NPE

贡献与致谢

  • 原始项目与创意来源归上游仓库及其作者所有
  • 本地适配工作由多位 AI 大模型参与完成,辅助完成迁移、修复与文档编写
  • 欢迎提交 Issue/PR共同完善 1.21.1 的适配与修复

许可证

  • 许可证遵循上游仓库约定(详见本仓库 LICENSE

说明:本项目仍在持续迭代阶段,优先确保基础功能在 1.21.1 可用,其它外围与兼容性问题会逐步修复与完善。