Skip to content

仓库杂项/1.20支持 TODO List #3367

@dovisutu

Description

@dovisutu

相比于#2821 而言,这次的时间应该没那么紧张。但是先列出来吧。
其中有一些可能不是马上就需要的,但是也先列出来吧。

目前,1.20工具链已经完成,且理论上已经开始分发了。余下的大多是些远期规划。

  • 确定1.20(或更高版本)的支持计划
    • 目前确定为1.20与1.20-fabric分开支持
  • 建立1.20的预备分支,在工作完成后合并 -- dovisutu:1.20-preps 基于3288的分支,在合并后会手动rebase

文件结构/工作流程

  • 正确书写文件层级,以及Packer的配置文件
  • Github Actions 相关内容
    • 优化结构: - 预备分支中 未测试
      • 采用matrix,减少配置的复制粘贴
      • 用缓存减少构造次数
        • Uploader似乎会生成一大堆dll,光搬个exe跑不了......在解决这个问题前,只有每次上传都构造一次了。
        • Packer倒只有两个文件,没多大问题。
      • pr-packer只打包更改模组(需要Packer支持)
        也可以缩短传artifact的时长
    • 分发相关:Packer、PR-Packer - 预备分支中
    • 校验相关:Labeler、Path-Checker(可能可以合并)
      • 路径校验在Bot和Packer中分别集成了一份,应该可以避免无效资源包流出。
      • 标签工作有部分集成到了CFPABot,但有的仍需修改Action。
  • bot支持
  • i18n模组版本支持
  • (远期)可以考虑重新开始爬取模组,前提是准备高效的办法统揽翻译工作(现在这种手工做法显然不行)

Packer TODO

dovisutu:packer-rework

  • Applied Energistics 2 1.20 指南翻译提交 #3669 更好地选取无语言标记的文件
  • 支持传参模组表,仅选取这些模组打包
  • oωo 翻译提交 #3527 打包器支持非平铺的语言文件(至少不要崩溃) - 啊c#好像没有Union...
  • 集成在打包器中的路径校验,对无效路径现场抛异常,防止资源包崩溃
  • 打包器部分流程会重复执行,现有代码不够健壮,导致处理非文本文件时会崩溃。
  • 检索部分重写:真正地使用Linq
  • 检索逻辑独立成库,以便其他工具链检索语言文件(如cfpaBot、各种统计工具)

分发流程

这里与1.20没有直接关系,但是也是最近要做的。

  • 增量更新
    • 自动向服务器上传差异文件 - Uploader;ETA未知
    • 服务端提供API(?)
  • 按需打包(部分打包)
    • 确认用于判断现有模组的方案:modid,或是其他潜在的方案
      • 如果使用modid,信息区分度是否足以判定需要哪组资源?
    • 确认时序:这种资源包在哪一步打?
      • 个人的意见是直接在第一步(Packer)生成,因为这里有完整的模组标识符->命名空间表
    • 实现部分
      • Packer:需要支持指定模组(见Packer ToDo);模组表为“模组标识符”
      • (未知组件)维护modid->标识符的映射
      • i18nmod:合适地读取modid表

资源包

文档相关

合理的TODO列表

  • 确定合适的实现方式(projects?但是Github Mobile看不到)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    进行中

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions