最初的提交

This commit is contained in:
2025-10-31 13:53:49 +08:00
commit 49d30eb728
380 changed files with 25153 additions and 0 deletions

54
README.md Normal file
View File

@@ -0,0 +1,54 @@
# 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.cn``CommonConfig.Browser.homepage`
- 已验证可构建并产出 JARWindowsJDK 21NeoGradle
## 已知问题(进行中)
- 外置键盘(左/右部件)在某些朝向或交互下存在异常
- 屏幕边框/部分贴图在某些资源包或拼图场景下异常(已加入图集声明,但仍需进一步兼容性验证)
- 代码中存在一定数量的弃用/迁移警告(不影响构建,后续逐步清理)
## 构建环境与依赖
- 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 可用,其它外围与兼容性问题会逐步修复与完善。