diff --git a/PROMPT.md b/PROMPT.md deleted file mode 100644 index 2b14267..0000000 --- a/PROMPT.md +++ /dev/null @@ -1,14 +0,0 @@ -写一个照片同步 Mod, 要求如下: - -1. 支持多版本(从 1.20 开始支持到现在最新的版本,目前是 26.2)和 fabric, 并且提供完善的文档描述兼容新版本的常规流程,注意事项。要有一个合理的模块层级把有必要跟mc代码纠缠在一起的部分隔离开,而无关的部分抽出来。允许兼容层的出现 -2. 支持把截图上传到 immich,并且还可以设置是哪个 album。记得留一个抽象,未来可能会加入新的 provider. -3. 要有 GUI 用于管理这些截图,并且 gui 也要覆盖模组的设置。模组的 UI/UX 和交互应该设计的易于使用,用户配置好后只需要管截图即可。GUI 还要能按照时间线排列浏览(模拟网页端虚拟列表懒加载)album 上其他时间的图片,单位是天。不要支持视频功能,如果视频有 preview 可用就用 preview 图片然后叠一层视频标记 -4. 要处理好用户退出游戏时截图仍在上传的情况 -5. 开发时,使用编译 classpath 里已有的 Gson,不要自己编写 Json 解析器,也不要自己编写其他已有库中的内容。然而,要注意控制模组的体积,无必要不要 shade 或者 jij 依赖。如果必须这么做,配置 proguard 做 minify. -6. 你不是在做 MVP, 你是在落地一个具体的产品,因此代码风格上不要到处随便飞 static 和常量以及各种 util。用可用的 Java 的特性合理的,恰当的组织你的代码,使他们符合面向对象和略微函数式一些的 Modern Java Paradiam,但注意不要过度抽象. 允许使用 Lombok 改进代码可读性。 -7. 要有一个可以配置的,默认关闭的自动截图功能,截图出来的图片需要有一个可配置的文件名后缀(如\_auto) -8. 自动截图/截图上传成功后可以在画面左下角提醒玩家(短短一行字停留一会即可,不要太影响体验) - -你的 gui 可能需要使用 mc screen 的那一套 gui, 最坏的情况你要为了所有版本都重新编写 screen 渲染逻辑。如果已经到了这个地步,那么请考虑 imgui. - -你可以先尝试做一些实验来研究可行性,然后问我有什么需要补充的信息。 diff --git a/README.md b/README.md index 5a0dac6..5877f3f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,11 @@ # PhotoSync +> [!NOTIFY] +> This mod is mostly generated by Claude. Bug feedbacks are welcomed and they will get +> fixed and replied by human. + A Fabric client mod that sends your Minecraft screenshots to [Immich](https://immich.app) -and lets you browse the album back inside the game. +and lets you browse the album back inside the game. This mod also supports periodic screenshooting. Take a screenshot with F2 and it uploads in the background. Press F6 to see what is uploading, scroll through the album's timeline, or change how any of it @@ -9,7 +13,11 @@ behaves. Nothing about the vanilla screenshot flow changes — F2 still saves a to `screenshots/` and still works with the mod misconfigured or offline. Supports **Minecraft 1.20 through 26.2**, client side only. Requires -[Fabric API](https://modrinth.com/mod/fabric-api). +[Fabric API](https://modrinth.com/mod/fabric-api). Sinytra connector should work. + +| Photo Browser | Settings | +| - | - | +| ![preview](./images/photo_preview.png) | ![settings](./images/settings.png) | --- diff --git a/docs/PORTING.md b/docs/PORTING.md index 995ee9d..00b53fb 100644 --- a/docs/PORTING.md +++ b/docs/PORTING.md @@ -107,8 +107,7 @@ while `fill` and `enableScissor` did not change once in six years. Section 3 is the evidence: nine versions, and the drawing primitives collapse to three adapter shapes. -This is also why the mod does **not** need imgui, which `PROMPT.md` raised as -the fallback if every version needed its own render logic. Every version does +This is also why the mod does **not** need imgui. Every version does need its own adapter, but each adapter is a few dozen lines of delegation, not a GUI toolkit. diff --git a/images/photo_preview.png b/images/photo_preview.png new file mode 100644 index 0000000..d8ccde4 Binary files /dev/null and b/images/photo_preview.png differ diff --git a/images/settings.png b/images/settings.png new file mode 100644 index 0000000..b56c6db Binary files /dev/null and b/images/settings.png differ