Skip to content

Mod 问题

Minecraft 拥有庞大的玩家社区,也有许多的社区开发者制作 Mod 为原版游戏增加扩展内容及玩法,但同时这也导致了许许多多的问题,这里列出部分常见的 Mod 问题及解决方案。

Java 问题

Java 版本不匹配

解释:有些时候,一些 Mod 会要求特殊的 Java 版本。此时使用不正确的 Java 版本将无法启动游戏。

注意

除非你匹配到了下方示例中的关键词,否则,我们始终建议保持启动器的自动决定 Java 功能为开启状态。

解决方案:根据 Log 引导,使用正确的 Java 版本启动游戏。检查括号内的 class file version 后跟随的数字,然后在 Java 版本列表里查找对应的 Java 大版本。

// 示例中是因为使用的 Java 与 Minecraft 要求的 Java 版本不符导致崩溃,应当使用 Java 17
// 因为安装了 Mod 导致崩溃时, net/minecraft/client/main/Main 部分会改变
// 因此建议只检索 java.lang.UnsupportedClassVersionError 部分
java.lang.UnsupportedClassVersionError: net/minecraft/client/main/Main has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0

// 下列几种其他常见日志
java.lang.UnsupportedClassVersionError: net/fabricmc/loader/impl/launch/knot/KnotClient : Unsupported major.minor version
Unsupported class file major version
关键词解决方案
no such method: sun.misc.Unsafe.defineAnonymousClassJava 版本过高,降低 Java 版本至 Java 8u312 或者 Java 11.0.13

附 Java 版本查询列表

Java 版本查询列表
Java 大版本Class File Version
Java 2064
Java 1963
Java 1862
Java 1761
Java 1660
Java 1559
Java 1458
Java 1357
Java 1256
Java 1155
Java 1054
Java 953
Java 852
Java 751

其他 Java 问题

解释:由于低版本 Forge 和高版本 Java 不兼容,导致了游戏崩溃。

解决方案:卸载当前 Java 8,然后前往其他地方获取版本号在 8u51-8u312 之间的 Java 8。

常见的第三方启动器获取 Java 方法

BakaXL启动器设置中获取 Java:前往 本体设置 -> Java 虚拟机与内存,点击获取对应的 Java 版本。

PCL2启动器中获取 Java:卸载当前 Java 后重启启动器,直接点击启动游戏,启动器提示自动补全 Java 时,点击 自动下载

HMCL启动器中获取 Java:卸载当前 Java 后重启启动器,按照启动器引导下载 Java。

其他 Java 获取方法

从官网下载并手动安装 Java:Java 8 | JDK 17+

获取 (Java 9+) 且已存档的 JDK 包:https://bell-sw.com/pages/downloads/#downloads

Mod 重复安装

解释:由于有 Mod 重复安装,导致游戏无法正常运行。

解决方案:排查重复的 Mod,然后移除重复项直至只剩下一个该 Mod 文件。

关键词:

DuplicateModsFoundException
Found a duplicate mod
ModResolutionException: Duplicate

Mod 过多导致超出 ID 限制

解释:安装的 Mod 过多,超出了游戏的 ID 限制,导致游戏崩溃。

解决方案:请尝试安装 JEID 等修复 Mod,或删除部分大型 Mod。

关键词:

maximum id range exceeded

解压了 Mod

解释:因为 Mod 文件被解压,导致游戏崩溃。

解决方案:删除 mods 文件夹中已被解压的 Mod,然后重新获取被删除的 Mod。

关键词:

The directories below appear to be extracted jar files. Fix this before you continue.
Extracted mod jars found, loading will NOT continue

Mod 名称含有特殊字符

解释:由于 Mod 名称中含有特殊字符,游戏无法正常启动。

解决方案:删去 Mod 文件名中的特殊字符,然后再次启动游戏。

关键词:

Invalid module name: '' is not a Java identifier

Mod 文件损坏

解释:可能在下载 Mod 文件时出现一些意外,导致 Mod 文件读取时出错。

解决方案:重新下载这个 Mod 并将原来的替换。

关键词:

// 可查看上下文观察是哪个 Mod 损坏了。
Caused by: java.util.zip.ZipException: zip END header not found

一些 Mod 需要访问国外网络

解释:一些整合包里会内置一个自动下载 Mod 的 Mod,但部分 Mod 需要访问国外网络才能顺利下载。下面列出目前已知访问国外网络的 Mod:

// 这个 Mod 会访问失败时直接崩溃游戏
- modpack-update-checker
// 这个 Mod 会让游戏在加载 Mod 阶段未响应
- commonality

解决方案:

1。尝试禁用这些 Mod;

2。使用加速器或 VPN。

Forge

Json 问题

解释:可能由于使用一些启动器修改了 Forge 版本,当前实例的 Json 文件存在异常。

解决方案:

重新安装:请尝试重新全新安装 Forge,而非使用其他启动器修改 Forge 版本。

重置核心仅 BakaXL :前往 核心列表 -> 核心高级设置 -> 恢复 / 删除 -> 重置此核心 尝试重置核心。

关键词:

Found multiple arguments for option fml.forgeVersion, but you asked for only one

Night Config 库的问题

解释:Night Config 库的一些常见问题导致的,会导致无法读取配置文件。有关详细信息,可访问此处查看。

解决方案:请尝试下载并安装该 Mod:Night Config FixesMC百科 | CurseForge

关键词:

Caused by: com.electronwill.nightconfig.core.io.ParsingException: Not enough data available

Vic's Modern Warfare Mod 问题

解释:有时,Vic's Modern Warfare (维克的现代战争) Mod 与其它 Mod 会出现一些特殊问题。

Mod 链接:MC百科 CurseForge

解决方案:在 配置文件夹 里找到 forge.cfg,用记事本打开,把里面的 allowEmissiveItems 后面从 true 改成 false,保存,启动游戏即可。

配置文件夹在哪里?

开启版本隔离:.minecraft/versions/[版本名]/config 未开启版本隔离:.minecraft/config

关键词:

java.lang.IllegalStateException: Not Building!

缺少前置

解释:有 Mod 依赖其他 Mod 运行,但未安装依赖的 Mod。

解决方案:

  1. 安装依赖 Mod

找到 Mod ID 字样,然后根据后面提示的 Mod 信息查找对应 Mod 并下载安装。

如果一个 Mod 要求特定版本的另一个 Mod,那么你应当寻找符合要求的 Mod 版本。

相关英文提示:any -> 任何;version(s) -> 版本;require(s) -> 要求,需要;of -> 的 (介词)

// 在示例中,您应该安装 Boatload Mod 的前置 Mod:Blueprint 高于 5.4.0 的版本。
Missing or unsupported mandatory dependencies:
        Mod ID: 'blueprint', Requested by: 'boatload', Expected range: '[5.4.0,)', Actual version: '[MISSING]'

您也可以通过 MC百科ModrinthCurseForge 等网站搜索 Mod 所需的前置 Mod。

ModrinthCurseForge 目前为止未提供中文界面,有困难的用户建议使用 MC百科 进行查询。

  1. 删除需要前置的 Mod

找到 Requested by 字样,然后根据前面提示的 Mod 信息删除对应 Mod。

// 在示例中,您应该删除 Boatload Mod。
Missing or unsupported mandatory dependencies:
        Mod ID: 'blueprint', Requested by: 'boatload', Expected range: '[5.4.0,)', Actual version: '[MISSING]'

关键词

Missing or unsupported mandatory dependencies:

其它原因

解释:有时,Forge 会直接给出错误原因,只需删除出错的 Mod 即可。

解决方案:删除出错的 Mod,例如以下示例中需要删除 Flywheel。

	Failure message: Flywheel (flywheel) has failed to load correctly
		java.lang.reflect.InvocationTargetException: null

关键词:

Failure message:

NeoForge

缺少前置

解释:有 Mod 依赖其他 Mod 运行,但未安装依赖的 Mod。

解决方案:

  1. 安装依赖 Mod

找到 Mod ID 字样,然后根据后面提示的 Mod 信息查找对应 Mod 并下载安装。

如果一个 Mod 要求特定版本的另一个 Mod,那么你应当寻找符合要求的 Mod 版本。

相关英文提示:any -> 任何;version(s) -> 版本;require(s) -> 要求,需要;of -> 的 (介词)

// 在示例中,您应该安装 Boatload Mod 的前置 Mod:Blueprint 高于 5.4.0 的版本。
Missing or unsupported mandatory dependencies:
        Mod ID: 'blueprint', Requested by: 'boatload', Expected range: '[5.4.0,)', Actual version: '[MISSING]'

您也可以通过 MC百科ModrinthCurseForge 等网站搜索 Mod 所需的前置 Mod。

ModrinthCurseForge 目前为止未提供中文界面,有困难的用户建议使用 MC百科 进行查询。

  1. 删除需要前置的 Mod

找到 Requested by 字样,然后根据前面提示的 Mod 信息删除对应 Mod。

// 在示例中,您应该删除 Boatload Mod。
Missing or unsupported mandatory dependencies:
        Mod ID: 'blueprint', Requested by: 'boatload', Expected range: '[5.4.0,)', Actual version: '[MISSING]'

关键词

Missing or unsupported mandatory dependencies:

Fabric

版本不兼容

解释:有 Mod 与当前游戏版本不兼容。

// 在示例中,你应该安装 Fabric API 1.20.1 版
- Mod 'Fabric API' (fabric-api) 0.82.1+1.20 requires any version between 1.20- (inclusive) and 1.20.1- (exclusive) of 'Minecraft' (minecraft), but only the wrong version is present: 1.20.1!

缺少前置

解释:有 Mod 依赖其他 Mod 运行,但未安装依赖的 Mod。

解决方案:

  1. 安装依赖 Mod

Unmet dependency listing 中找到 requires 字样,然后根据后面提示的 Mod 信息查找对应 Mod 并下载安装。

如果一个 Mod 要求特定版本的另一个 Mod,那么你应当寻找符合要求的 Mod 版本。

相关英文提示:any -> 任何;version(s) -> 版本;require(s) -> 要求,需要;of -> 的 (介词)

// 在示例中,您应该安装 Zoomify Mod 的前置 Mod:Fabric API。
Unmet dependency listing:
	 - Mod 'Zoomify' (zoomify) 2.11.0 requires any version of fabric-api, which is missing!

您也可以通过 MC百科ModrinthCurseForge 等网站搜索 Mod 所需的前置 Mod。

ModrinthCurseForge 目前为止未提供中文界面,有困难的用户建议使用 MC百科 进行查询。

  1. 删除需要前置的 Mod

Unmet dependency listing 中找到 requires 字样,然后根据前面提示的 Mod 信息删除对应 Mod。

// 在示例中,您应该删除 Zoomify Mod。
Unmet dependency listing:
	 - Mod 'Zoomify' (zoomify) 2.11.0 requires any version of fabric-api, which is missing!

关键词

net.fabricmc.loader.impl.FormattedException: Mod resolution encountered an incompatible mod set!

which is missing!

Mod 冲突

解释:由于两个或多个 Mod 互相冲突,导致游戏无法正常运行。

解决方案:移除相互冲突的其中一个 Mod。

// 在示例中,您应该移除 OptiFabric,或移除 Sodium 和 Iris
net.fabricmc.loader.impl.FormattedException: Mod resolution encountered an incompatible mod set!
A potential solution has been determined:
	 - Replace mod 'Sodium' (sodium) 0.4.10+build.27 with any version that is compatible with:
		 - optifabric 1.13.25
	 - Replace mod 'Iris' (iris) 1.6.4 with any version that is compatible with:
		 - optifabric 1.13.25

关键词:

net.fabricmc.loader.impl.FormattedException: Mod resolution encountered an incompatible mod set!

that is compatible with

Quilt

缺少前置

解释:有 Mod 依赖于其他 Mod 运行,但未安装依赖的 Mod。

解决方案:

  1. 安装依赖 Mod

Unmet dependency listing 中找到 requires 字样,然后根据后面提示的 Mod 信息查找对应 Mod 并下载安装。

如果一个 Mod 要求特定版本的另一个 Mod,那么你应当寻找符合要求的 Mod 版本。在 Quilt 中,括号中的前面一串数字代表最低版本,后面一串数字代表最高版本。

相关英文提示:any -> 任何;version(s) -> 版本;require(s) -> 要求,需要;of -> 的 (介词)

// 在示例中,您应该安装 Sodium Extra Mod 的前置 Mod:Sodium。
Sodium Extra requires version [0.4.10, ∞) of sodium, which is missing!

您也可以通过 MC百科ModrinthCurseForge 等网站搜索 Mod 所需的前置 Mod。

ModrinthCurseForge 目前为止未提供中文界面,有困难的用户建议使用 MC百科 进行查询。

  1. 删除需要前置的 Mod

Unmet dependency listing 中找到 requires 字样,然后根据前面提示的 Mod 信息删除对应 Mod。

// 在示例中,您应该删除 Sodium Extra Mod。
Sodium Extra requires version [0.4.10, ∞) of sodium, which is missing!

关键词

which is missing!

LiteLoader

缺少前置

解释:有 Mod 依赖其他 Mod 运行,但未安装依赖的 Mod。

请注意:与其他 Mod 加载器不同的是,通过 LiteLoader 加载的 Mod 在缺少前置的时候并不会导致游戏崩溃,因此您需要手动查看是否存在前置 Mod 缺失的情况。

进入游戏后,点击游戏右上角的半透明浮窗即可查看通过 LiteLoader 安装的 Mod 列表。

在一般情况下,点击显示 缺少前置库 的 Mod 后,会打开该 Mod 的详情界面,在界面中会提示您该 Mod 所需要的前置。

Liteloader-mod-01

解决方案:

  1. 安装依赖 Mod

您可以通过 MC百科ModrinthCurseForge 等网站搜索 Mod 所需的前置 Mod。

ModrinthCurseForge 目前为止未提供中文界面,有困难的用户建议使用 MC百科 进行查询。

  1. 删除需要前置的 Mod

根据 Mod 列表的提示,手动删除对应的 Mod。

与 Forge 冲突

解释:由于 LiteLoader 与 Forge 冲突,游戏崩溃了。

解决方案:卸载 LiteLoader (重新安装没有 LiteLoader 的实例,然后迁移数据)。

关键词:

org.spongepowered.asm.service.ServiceInitialisationException: ModLauncher is not available

OptiFine

无法加载世界

解释:使用的 OptiFine 导致了游戏出现问题。

解决方案:可以尝试更换 OptiFine 的版本。

关键词:

java.lang.NoSuchMethodError: net.minecraft.world.server.ChunkManager$ProxyTicketManager.shouldForceTicks(J)Z

Forge 与 OptiFine 兼容性问题导致的崩溃

解释:使用的 Forge 版本过高 / 过低或 OptiFine 并未兼容该版本的 Forge,导致游戏崩溃。

解决方案:

TIP

最近有很多因为 1.20.1 OptiFine_HD_U_I5 + Forge 47.1.43/47.1.44 导致的崩溃。

你可以先尝试将 OptiFine 版本升级至 HD_U_I6_pre6 版本,若不行再尝试下面的方案。

前往 OptiFine 官网,按照提示安装对应的 Forge 版本。

示例

提示:

  • 点击 Show all versions 即可展开所有的游戏版本,点击 + More+ Preview versions 可展开更多;

  • 若显示 Forge N/A 则代表该版本的 OptiFine 不兼容任何 Forge 版本。

你可以在日志中逐个匹配下面的关键词,以确定是否是该原因导致崩溃 (关键词仅供参考)。

java.lang.NoSuchMethodError: 'void net.minecraftforge.client.gui.overlay.ForgeGui.renderSelectedItemName(net.minecraft.client.gui.GuiGraphics, int)'

java.lang.NoSuchMethodError: 'java.lang.Class sun.misc.Unsafe.defineAnonymousClass(java.lang.Class, byte[], java.lang.Object[])'

java.lang.NoSuchMethodError: 'java.lang.String com.mojang.blaze3d.systems.RenderSystem.getBackendDescription()'

java.lang.NoSuchMethodError: 'net.minecraft.network.chat.FormattedText net.minecraft.client.gui.Font.ellipsize(net.minecraft.network.chat.FormattedText, int)'

java.lang.NoSuchMethodError: 'void net.minecraft.server.level.DistanceManager

java.lang.NoSuchMethodError: 'void net.minecraft.client.renderer.block.model.BakedQuad.<init>(int[], int, net.minecraft.core.Direction, net.minecraft.client.renderer.texture.TextureAtlasSprite, boolean, boolean)'

java.lang.NoSuchMethodError: 'void net.minecraft.client.renderer.texture.SpriteContents.<init>(net.minecraft.resources.ResourceLocation

java.lang.NoSuchMethodError: 'void net.minecraft.server.level.DistanceManager.addRegionTicket(net.minecraft.server.level.TicketType, net.minecraft.world.level.ChunkPos, int, java.lang.Object, boolean)'

java.lang.NoSuchMethodError: net.minecraft.launchwrapper.ITweaker.injectIntoClassLoader(Lnet/minecraft/launchwrapper/LaunchClassLoader;)V

TRANSFORMER/net.optifine/net.optifine.reflect.Reflector.<clinit>(Reflector.java

Contributors

The avatar of contributor named as zkitefly zkitefly
The avatar of contributor named as bingling_sama bingling_sama
The avatar of contributor named as 柚子柚子 柚子柚子
The avatar of contributor named as hejiehao hejiehao
The avatar of contributor named as 233355607 233355607
The avatar of contributor named as Big_Cake Big_Cake
The avatar of contributor named as zyxkad zyxkad
The avatar of contributor named as Pigeon0v0 Pigeon0v0
The avatar of contributor named as bingxin666 bingxin666
The avatar of contributor named as 思遥方 思遥方
The avatar of contributor named as Rovniced Rovniced

Changelog