新的游戏版本
模组还停留在旧版本,玩家却已经转到新版本。
- 从 1.12.2、1.16.5 和 1.20.1 移植到 1.21.x 和 26.x
- 替换过时和已被移除的游戏代码
- 把配方、标签和数据迁移到新格式
- 一套代码同时支持两个游戏版本
订单示例: 把 1.20.1 Forge 模组移植到 1.21.1,以便在新版本上组建整合包。
Cookie 与统计。 我们使用 Google Analytics 了解哪些页面有用。分析类 Cookie 仅在您同意后设置。您可以随时在页面底部更改选择。 更多关于 Cookie
我们做什么
您自己的模组、整合包里的模组或服务器插件都可以,只要有源代码以及修改它的权利。
模组还停留在旧版本,玩家却已经转到新版本。
订单示例: 把 1.20.1 Forge 模组移植到 1.21.1,以便在新版本上组建整合包。
同一个模组,换一个加载器。
订单示例: 只有 Forge 版的模组:做一个 Fabric 版,好和 Sodium 一起放进整合包。
服务器更新后,插件无法启动了。
订单示例: 服务器更新到 1.21 后,1.16.5 的插件不能用了。
模组或插件能用,但有错误。
订单示例: 服务器每隔几小时就崩溃一次:从日志中找出原因并修复。
变化在哪里
Minecraft 几乎每次更新都会改动自身代码:重命名类、移除旧的注册方式、更改数据格式。因此旧的 .jar 在新版本上无法加载,需要重写。我们自己的模组 Ala Industrial 同时为两个游戏版本发布,所以我们很熟悉这些改动。
工作量最大的移植:数据、注册和渲染都是新的。常常相当于在旧逻辑上做一个几乎全新的模组。
加载器不同,事件和 API 也不同。模组逻辑保留,外围代码重新编写。
Paper 提供自己更快的 API,而 Folia 需要把插件改造为多线程运行。
需要源代码和修改权:您是作者、模组的许可证允许,或作者已同意。没有源代码,移植通常无法进行。您的情况能不能做,我们分析后告诉您。
移植
移植的难度取决于从哪里移植到哪里。下面是常见情况,看过代码后我们会给出准确评估。
| 移植 | 变化内容 | 难度 |
|---|---|---|
| 1.20.1 → 1.21.x | 变化内容用物品数据组件取代 NBT,新的注册表和配方格式 | 难度中等 |
| 1.12.2 → 1.21.x | 变化内容几乎全部:注册、渲染、数据、网络。保留逻辑,重写代码 | 难度高 |
| 1.21.x → 26.x | 变化内容游戏代码、渲染和输入中的局部改动 | 难度低或中等 |
| Forge → Fabric 或 NeoForge | 变化内容事件、注册和加载器配置。模组逻辑不变 | 难度中等 |
| Spigot → Paper | 变化内容旧代码通常可以运行,我们改用 Paper 更快的 API | 难度低 |
| Paper → Folia | 变化内容插件按多线程下的区域化运行重写 | 难度高 |
任务示例
典型订单,隐去了客户名称。移植就是从这样的消息开始的。
合作流程
每一步您都清楚:已经完成什么,接下来做什么。
移植之路
发来模组或插件、源代码链接,以及要移植到的版本。我们会在 8 小时内回复。
我们查看代码以及版本之间的变化,并在开工前确定工作范围、价格和工期。
我们完成移植,修复发现的错误,并在目标版本和加载器上进行游戏内测试。
成品 .jar、更新后的源代码和更改清单。代码交付条件在开工前约定。
价格
勾选需要做的内容,就能看到工作量如何增长。看过代码后我们给出价格,并在开工前确定下来。
大致工作量
小型模组或插件,移植到相邻版本。
带方块和机制的模组,或更换加载器。
大型模组或非常旧的版本。
这只是参考,不是报价。任务明确后我们会给出准确的费用和工期。
商量移植常见问题
不能。模组和插件使用游戏的内部代码,而这些代码几乎每个版本都会变。旧的 .jar 在新版本上要么无法加载,要么会崩溃,所以必须重写代码。
移植,前提是您有源代码和移植的权利:您是作者、模组的许可证允许,或作者已同意。我们会在开工前检查许可证。
取决于模组的规模、版本跨度和加载器。看过代码后我们给出价格,并在开工前与工期一起确定下来。
我们会尽量保留方块和物品的名称,让旧世界还能打开。如果新版本需要迁移数据,我们会提前告知,并在世界副本上进行验证。
可以。我们自己的模组就是用同一套代码同时发布 Fabric 和 NeoForge 版本,您的模组也可以这样做。
目标版本和加载器的成品 .jar、更新后的源代码和更改清单。版权和发布后的支持在开工前约定。
您的下一个项目
提交申请,告诉我们您想在游戏里看到什么。我们会在 8 小时内回复,与您一起梳理任务,哪怕现在只有一句话。