状态更新:2022 年 3 月 5 日

对仍在适应 2022 年的想法的每一位来说,3 月似乎已经来临,并且与大量消息相伴。

为赞助者和捐赠者呐喊助威

我们要再次感谢我们目前的赞助者, Bisect HostingMC Server HostingApex Minecraft HostingMinecraft IndexCreeperHostJetBrains 还有 YourKit,提供经济或者免费使用工具支持我们成为最大的 Minecraft 插件平台的野心。当前的赞助者可以在我们的主页上找到,同时也可以在我们的下载页面看到。如果你有赞助的意向,你可以在这里找到更多信息

如果你想为我们的事业捐赠一些(除了爱与感激之外),我们有一个 Patreon 可以让你订阅。如果你不想订阅但是愿意通过 PayPal 捐款,你可以发送捐赠到 donations@spongefoundation.com。如果你不能捐款,不要担心!你可以帮助我们测试构建,提供反馈,或者在我们的 Discord 频道中鼓励我们!

重大更新

虽然现在 API 已经稳定,但我们仍为了实现努力,我们有两个重要的变化需要大家注意。

Timings 将要远去

在 API-8 及之后的版本中,我们选择将一些插件使用的 Timings API 移到它自己的库中,这个库被特意放在 API 之外,以便我们确认我们对它的策略是什么。

我们已经决定,最好的行动方案是完全移除 Timings 库。

服务器所有者:这意味着 /sponge timings 不再起作用,随着越来越多的用户使用外部插件来采样方法耗时,或者使用如 VisualVM 或 YourKit 这样的分析器,Timings 不再是用户的首选,因此我们认为从我们的项目移除是最佳选择。

在 Minecraft 1.18 及之后,Mojang 添加了 jfr 指令(参见 Minecraft Java版 21w37a 发布 - 幻翼块讯 - Minecraft(我的世界)中文论坛 - 中的这部分内容)使用 Java 内置工具来分析,因此在某些情况下也是一种选择。

插件开发者:如果你正在使用 Timings 库,你不该再这样做了,因为我们将从服务端上移除它。

需要注意,一些使用 Timings 的插件如果不更新可能会无法工作。然而,以我们所知只有只手之数的情况会出现这个问题,我们也不期望这是一个广泛的问题。

你可以在 remove timings by ImMorpheus · Pull Request #3613 · SpongePowered/Sponge · GitHub 追踪变更。

Sponge 服务端文件夹结构的变化

为了更好地支持 Forge 生态系统,我们将会改变 Sponge 创建的文件夹结构。你将会注意到的最大变化是,Sponge 插件将不再放于 /mods 文件夹,而是 /plugins 文件夹中。我们这样做的原因是我们察觉到 Sponge 插件保留在 mods 目录中可能会与新版本 Forge 产生问题。

简而言之,将做出以下改变:

Function API-7 位置 API-8 位置
插件目录(包括混合或 Mixin 插件) /mods /plugins
插件配置目录 /config /plugin-configs
Sponge 配置 /config/sponge /sponge/config

我们也会尽可能地把 Sponge 特有的东西放在 /sponge 目录下。

你可以在 Split out our directory structure vs. Forge by Zidane · Pull Request #3526 · SpongePowered/Sponge · GitHub 追踪变更。

API-8/1.16.5

正如我们上次公告提到的,API-8 已经发布了,我们目前正在努力实现。SpongeForge 依然是我们这个版本的侧重点,但是我们也会发布 SpongeVanilla 参考构建作为开发过程的一部分。

如果你是一个插件开发者,现在是时候构建和移植插件到 API-8 了。你的努力也会为我们提供宝贵的反馈,因为在服务端环境中使用你的插件会帮助我们测试实现的稳定性和功能,以让我们为了发布稳定的构建而努力。

如果你是一个想要尝试实验性构建的服务器管理者,我们仍然建议你确保有定期备份,如果你发现了任何漏洞,我们感谢你的报告

SpongeVanilla 1.16.5 实验性构建
SpongeForge 1.16.5 实验性构建

API-9

随着 API-8 的冻结,API-9 的进展顺利进行。我们目前对 API-9 的计划是在可能的情况下尽量与 API-8 大体一致,其中世界生成是最重要的变化。与 API-8 相比,在其他方便也会有一些细微改进,但是代码在 8 和 9 之间的可移植性应该远远超过 7 和 8 之间。

我们的目标是在本月冻结 API-9,所以如果你有任何想法或你想考虑的变化,请尽快联系我们。

SpongeVanilla 1.18.1 测试构建目前可用于测试,但不建议用于生产环境。如果你愿意测试这些构建并帮助报告错误,我们将非常感激。

最近的 Minecraft 1.18.2 更新引入了破坏性的世界生成变更,这要求我们评估我们对这一部分 API 有关的方向,我们希望可以尽快让你们知道这些变化。

图片

SpongeDocs 和翻译大迁移(Great Translation Migration)

SpongeDocs 的翻译者应该可以访问慷慨提供给我们的新颖靓丽的 Crowdin 企业版。新的实例已经启动并在线运行!非常感谢 @felixoi 与 Crowdin 协调,解决了迁移方面的问题(我们有点摆烂了)。系统中可能仍有一些小问题,因此如果你遇到了困难或者怪事,请让文档工作人员知道(通过 Crowdin、Discord 或论坛)。如果困难与你的账户有关,请直接联系 Crowdin。

我们建议所有迁移到新翻译的用户使用 Crowdin 发给你(最新)的链接,因为这会将你的翻译进度一起迁移。没有翻译会丢失,但是迁移的方式会继承你的个人数据。我们对 Crowdin 发出的所有破损(Broken)的迁移信息表示歉意,这是一个自动化过程,无法被禁用。

请注意,旧有是 SpongeDocs 网站已不再使用,并且已被删除,以防混淆,你应该会被自动重定向到新的站点。

另一点需要注意的是,SpongeDocs 正在为 API-8 进行更新,如果你看到一个你知道需要注意的的页面,请提出一个新的议题或者更进一步地提出新的拉取请求来更新它。有很多东西需要审阅,特别是在插件开发页面上,因为 SpongeAPI 8 的开发过程产生了重大变更,如果你无法确定,可以加入 Discord 上的 docs 频道询问,我们会一直在这里提供帮助。