Skip to content

MCphone NeoForge 1.21.1 v1.9.1

Choose a tag to compare

@github-actions github-actions released this 06 Sep 11:58
· 46 commits to main since this release

MCphone v1.9.1

设置里那四个页面终于能滚了 —— 在此之前,超出一屏的内容不是"待会儿再看",是永远看不到。

运行环境: Minecraft 1.21.1 · NeoForge 21.1.200 或更高 · 客户端与服务端都需安装
可选: Curios —— 装了多一个手机槽
可选: Waystones(传送石碑)—— 装了多一个「传送石」App
可选: MCEF —— 装了多一个「浏览器」App
可选: NetMusic(网络音乐机)—— 装了唱片仓还收它刻的 CD
可选: Patchouli(教程手册)—— 装了多一个「阅读」App
可选: FTB Quests —— 装了多一个「任务书」App
可选: Integrated Dynamics —— 装了多任何东西,只让崩溃报告指认对人

从 1.9.0 升级: 直接替换 jar。这一版只改了客户端画界面的部分,没动网络包,也没动任何存储格式——存档、好友、聊天记录(含图片)、购买记录、App 安装状态、主屏图标位置、手机里的唱片全部原样保留。

服务端可以晚一步换。 网络包的注册版本仍是 1,包的种类也一个没变,所以客户端 1.9.1 连 1.9.0 的服务端照常能用。当然两边一致最省心。


🖱 病根:那四页压根没有"滚动"这个概念

不是滚轮没接上。feature/settings/ 下的页面里一个 scrollOffset 字段都没有,溢出的处理清一色是同一句:

if (y + rowH > bottom) break;   // 画不下就不画,也没有别的路能看到

手机屏幕的内容区只有 120×176,一屏放得下八行左右。于是:

页面 原来的上限 你因此看不到什么
App 管理器 8 行 纯本体就注册 11 个 App,默认安装下就有 3 个 App 在管理器里根本不存在。这一页还是 1.9.0 刚重做的
更换壁纸 2 行 × 2 列 = 4 张 第 5 张起看不见。而那个目录正是你自己往里丢图的地方,丢满是迟早的事——你只会以为那张图没被认出来
关于 画到底补个 联动模组列表被截断。这一页存在的理由就是回答"我怎么没有这个功能",答案恰好被截在 后面
App 详情 静默丢行 描述是附属自己写的、长度不由我们定;放不下时前置/联动那几行直接不画,你看不到自己缺的是哪个前置

壁纸页的注释里其实早写着「这一页的网格没有翻页,放不下的壁纸就是永远看不见」——当时拿它当论据去论证「打开文件夹」为什么要挤在标题行里,等于把 bug 写成了设计理由。那段注释一并改了。

🔧 怎么修的

没有发明第三套滚动。 项目里本来就有两套,照抄:

  • 等高列表用行索引NotesList 那套):App 管理器、壁纸网格(按行滚)
  • 长短不一的内容流用像素 + enableScissorChatConversation 那套):关于、App 详情

两套都把"一屏放得下几行"留到渲染时才算,再夹紧 offset——删一张壁纸、卸一个 App 之后列表会变短,不夹就会停在一片空白上。

关于页因此从静态类改成了实例(滚动是状态)。App 详情页的头部与卸载键不跟着滚:那个键得一直够得着。

两页没动:设置列表(5 项)和字体颜色(6 个预设)目前放得下十行,加了也是 maxScroll 恒为 0。等哪天加到溢出,按同一套补上即可。