QuickShop-Hikari & 退出 PotatoCraft Studio
本文最后更新于 660 天前,其中的信息可能已经有所发展或是发生改变。

应该有小伙伴听说了我最近退出 PotatoCraft Studio 和停止维护 QuickShop-Reremake 并单开一个分支的事情。

我一直没有正面回应过这件事,所以这一次我打算好好说一说。

回顾 QuickShop-Reremake 的起源和历史

QuickShop-Reremake 最初由我 fork 自 KaiKikuchiQuickShop 项目,目的是为了让早已关闭的 “阳光之城-SunnySide” Minecraft 服务器在升级 1.13 的时候尽快能用上所需要的插件。

由于 Bukkit 1.13 一次著名的破坏性更新(MaterialData 被彻底废弃),原 QuickShop 已无法在 1.13 运行,且原作者几乎完全停止更新。

为了让大家都能用上 QuickShop,我在此期间和 Mgazul 一同修改和测试 QuickShop-Reremake,并随后在 2018 年在 SpigotMC 上公开了这个项目。

随后的 5 年间,我通过贡献超过 6k+ 个 commit 给 QuickShop-Reremake 带来了大量的新特性和错误修复。

于是,到了 2022 年,这个插件已在超过 3500+ 个服务器上运行 (源于 bStats 统计)。

在 2021 年下半年,因个人原因,将插件交由 sandtechnology 继续维护。

Apollo 分支

QuickShop-Reremake 在过去的 5 年间添加了大量功能,并经历了 MC 从 1.13 到 1.18 的过渡。

在此期间,Mojang 向 Minecraft 添加了大量的游戏内容,例如著名的 1.16 Hex Text 等。

然而到 5.1.0.3 为止,Reremake 已经存在了超级大量的 workaround 和冗余代码。

所以我发起了 Apollo 专项计划,对底层进行大改:

  • 放弃 BungeeChat,转而使用 Adventure
  • 模块化项目,在 Paper 平台使用 Paper API 以提升性能和降低代码复杂度并减少依赖项
  • 启用 SQLite 数据库,转用 H2 并添加 EasySQL 解决手写 SQL 的问题
  • 改良交互逻辑
  • 使用 Spigot 推荐的 Library Loader 来避免 shade 大量依赖库,导致 jar 体积居高不下的问题
  • 支持 BungeeCord 跨服务器消息传输
  • 启用新的基于规则的价格限制器
  • 新的统计信息记录器(FOr Plan)
  • 一堆新的 API 等等…

当然,也有一些激进的部分:

  • 需要 Java 16 和更高版本
  • 需要 MC 1.16.5 和更高版本

2 月 11 日,上述内容基本都已开发完毕,并提供了从 Reremake 对配置文件和数据进行升级的转换器。

看起来挺好的,为什么突然发生了这些

因为合并被拒绝了,理由是 “v5已经足够稳定”。

诚然,v5 和 v4 目前都已非常稳定,可以投入生产环境使用,基本不会出现大问题。

然而,Reremake 最初出现并受到欢迎的原因就是持续对新功能的跟进和支持。如果我们不在跟进更新,那么 Reremake 就是下一个 NoLikeMe,终将被时代所淘汰。

大量的 workaround 也会成为升级迭代的阻碍,例如毫无意义的 Trader延迟 2.5 秒发送信息的workaround没有明显意义的翻译键 等等。

稳定性不是停滞不前原地踏步的理由。

而且,Hikari (Apollo/v6) 从一开始就不被看好(点击图片放大):

Ghost_chu's Blog--20220213074854屏幕截图 2022 02 13 153622404.png
Ghost_chu's Blog-11-20220213074858屏幕截图 2022 02 13 154617746.png
Ghost_chu's Blog-22-20220213074901屏幕截图 2022 02 13 154653525.png
Ghost_chu's Blog-33-20220213074903屏幕截图 2022 02 13 154742696.png
Ghost_chu's Blog-44-20220213074905屏幕截图 2022 02 13 154806375.png
Ghost_chu's Blog-55-20220213074856屏幕截图 2022 02 13 154529137.png
Ghost_chu's Blog-66-20220213074857屏幕截图 2022 02 13 154553587.png
Ghost_chu's Blog-77-20220213074859屏幕截图 2022 02 13 154646292.png
Ghost_chu's Blog-88-20220213074902屏幕截图 2022 02 13 154726604.png
Ghost_chu's Blog-99-20220213074904屏幕截图 2022 02 13 154752804.png
Ghost_chu's Blog-1010-20220213074907屏幕截图 2022 02 13 154820494.png

v6 从一开始就被认为会胎死腹中,即使做出来了也甚至不愿意尝试一下测试稳定性。

同时拒绝新改进,只是原地踏步维护已知没有问题的版本,害怕改变,惧怕新事物,惧怕不稳定。

而且何况这只是合并到 master 分支,而不是 release。

Reremake 作为创新而火起来的分支居然变成这样,实属可悲。


以及,长期以来双方都看对方代码感觉不爽,写的不完美,风格不一样,那么不如自己写自己的。解决一切问题。

根据开源世界的一贯法则,看着不爽就自己来。我决定退出 PCS,且放弃 Reremake 项目的维护,并进行硬分支。

说走就走

QuickShop-Hikari 现已在 Github 上发布,我将在测试稳定后发布到 SpigotMC。

如果你愿意一起让 QuickShop 变得更好,欢迎参与和贡献代码 :)。

Reremake 怎么办?

我已不再维护 Reremake,所以 Reremake 不管出现什么问题我都不会管了。

同时,Reremake 使用的错误追踪服务 “Rollbar” 和本地化翻译服务 “Crowdin” 届时也会收回,服务不再可用。

一直想说的话

我认识的很多人都有一种 “只要不出问题我就不去动它”、 “只要我不动它出了问题也不是我的责任” 和 “能用就行” 的态度 。

这种情况发生在用户和普通人的身上可以理解,但是在开发者身上出现是完全无法理解的。

软件的最终目的还是服务对象,追求更好的人机交互。

一个开发者都只想摆烂的话,为什么不赶紧回上个世纪 90 年代用翻盖手机和 MS-DOS 呢?

毕竟它们也不是不能用,而且也足够稳定不是吗?

除特殊说明以外,本站原创内容采用 知识共享 署名-非商业性使用 4.0 许可。转载时请注明来源,以及原文链接
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
呼呼
派蒙
巴巴托斯
上一篇
下一篇