Mod 兼容

又名:“我装了 SpongeForge,但为什么我的服务器崩溃了?”

SpongeForge 尽全力保证兼容其他 Mod。然而,面对 Mod 开发者们充满无限可能的代码,SpongeForge 其实很难实现这个目标。某些 Mod 在安装了 SpongeForge 后就不能工作,有些只需修改配置文件或使用其他版本就可以兼容,但大多数 Mod 是能和 SpongeForge 在一起相安无事的。有些时候你还能拿到一些告诉你哪里出错了的诊断信息,然而更常见的画风其实是“不知道什么出错了”。

为了帮你搞清楚哪是哪,并给出可能的解决方案,我们准备了一份“和 SpongeForge 可能有冲突”的 Mod 列表。请注意,尽管我们经常更新这份列表,但 Mod 可能更新得比我们还快,这份列表不一定反映最新情况。你可以在 Discord 或 GitHub 上告诉我们该更新了。

已知不兼容

旧版 Mixin

首先:如果你的服务器日志里提到了 「old mixin」,你应该做的第一件事是重命名你的 SpongeForge 文件,让它排序靠前一点。一般来说加一个 aaa_ 这样的前缀就可以,就像这样:aaa_spongeforge-1.12.2-2838-7.2.1-RC4011。如此一来 Sponge 自带的 Mixin 就能优先加载,与之有关的问题可以迎刃而解。

FarSeek

  • 依赖关系:Streams Mod 前置

  • 版本:2.3、2.4

  • 问题:启动时崩溃、世界生成失败

  • 解决方案:更新 Farseek 到 2.5。

FoamFix

  • 版本:0.10.7 及更旧版本

  • 问题:启动时崩溃(block collision error)

  • 解决方案:更新 FoamFix 到 0.10.8 或更新版本,或者在 FoamFix 的配置文件中禁用下列两项:optimizedBlockPos=falsepatchChunkSerialization=false

  • 注:新版 FoamFix(0.10.8 及更新版本)会自动在检测到 SpongeForge 时禁用上述两个选项,因为 SpongeForge 提供了相同功能。

ForgeEssentials

  • 版本:12.3.82 及更旧版本

  • 问题:启动时崩溃(mixin 提示 NoSuchMethodError 错误)

  • 解决方案:更新 ForgeEssential 到 12.3.83 或更新版本。

  • 新版 ForgeEssentials 使用的 Mixin 更新到了 0.8。

Hammer Core

  • 依赖项:是很多 Mod 的前置

  • 版本:2.0.6.1.2 及更新版本

  • 问题:启动时崩溃。常见错误信息如下:

org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Redirector onUpdateTileEntities(Lnet/minecraft/util/ITickable;)V in mixins.common.core.json:world.WorldMixin failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap mixins.common.refmap.json
  • 解决方案:找到 /asm/hammercore.xml,将 <entry key="World.ITickable.Override">true</entry> 中的 true 改为 false

ICBM Classic

  • 版本:全部

  • 问题:ICBM Classic 的导弹发射后停在半空中并开始导致服务器卡顿。

  • 解决方案:按照下方文本的说明将指定内容复制到你的 sponge/global.conf 文件中的 entity-activation-range/mods 一节中:

entity-activation-range {
    mods {
        # COPY THIS - START
        icbmclassic {
            defaults {
                misc=16
            }
            # If 'false', entity activation rules for this mod will be ignored and always tick.
            enabled=false
            entities {
                missile=16
                seat=16
            }
        }
        # COPY THIS - END
    }
}

Just Enough IDs (JEID)

  • 版本:1.0.3-48 及更旧版本

  • 问题:启动时崩溃(Mixin 冲突)。

  • 解决方案:更新 JEID 到 1.0.3-54 或更新版本。

LagGoggles/TickCentral

  • 版本:全部

  • 问题:启动时崩溃(Mixin 冲突)。

  • Solution: Update to Spongeforge 7.2.0 or newer.

MystCraft

  • 版本:全部(目前)

  • 问题:启动时崩溃

  • Solution: Change B:useconfigs=false to true in the config/mystcraft/core.cfg file

Open Terrain Generator (OTG)

  • 依赖:OTGcore

  • 版本:全部(目前)

  • 问题:启动时崩溃、多世界生成问题

  • 解决方案:先在没有 SpongeForge 时预生成地图,然后删除 OTG 并安装 SpongeForge。

Phosphor

  • 版本:0.2.4 及更旧版本

  • 问题 1:启动时崩溃

  • 解决方案:更新 Phosphor 到 0.2.5 或更新版本,兼容 Sponge RC3384。

  • 问题 2:显示性能差

  • 解决方案:在 Sponge 配置文件 global.conf 中,将 async-lighting 设定为 false

可能还有很多这里没有列出来的问题,请通过 GitHub 来帮助我们维护这份列表!“调试”一文对于上文中没有列出的问题也许有帮助。