CSL 14.10会在Forge 1.8.x下崩溃
ZekerZhayard opened this issue · 4 comments
Log: https://paste.ubuntu.com/p/KWrQ3vXqGM/
[13:20:23] [Client thread/DEBUG] [FML/]: Examining file CustomSkinLoader_Forge-14.10.jar for potential mods
[13:20:23] [Client thread/TRACE] [FML/]: Located mcmod.info file in file CustomSkinLoader_Forge-14.10.jar
[13:20:23] [Client thread/DEBUG] [FML/]: Identified a mod of type Lnet/minecraftforge/fml/common/Mod; (customskinloader.forge.ForgeMod) - loading
[13:20:23] [Client thread/TRACE] [net.minecraftforge.fml.relauncher.FMLRelaunchLog/]: Parsed dependency info : [] [] []
[13:20:23] [Client thread/INFO] [net.minecraftforge.fml.relauncher.FMLRelaunchLog/]: Mod null is missing the required element 'name'. Substituting null
[13:20:23] [Client thread/DEBUG] [net.minecraftforge.fml.relauncher.FMLRelaunchLog/]: Attempting to load the file version.properties from CustomSkinLoader_Forge-14.10.jar to locate a version number for null
[13:20:23] [Client thread/WARN] [net.minecraftforge.fml.relauncher.FMLRelaunchLog/]: Mod null is missing the required element 'version' and no fallback can be found. Substituting '1.0'.
[13:20:23] [Client thread/DEBUG] [FML/]: Identified a mod of type Lcustomskinloader/forge/ModOld; (customskinloader.forge.ForgeModOld) - loading
[13:20:23] [Client thread/TRACE] [customskinloader/]: Parsed dependency info : [] [] []
我猜是因为 Forge
识别了 1.13.2
的 @Mod
注解,但是这个注解没有 modid
属性,所以导致了 NPE
非常感谢
正常运行应该没有问题了
如果硬要说有什么缺陷的话,在 Forge for MC 1.8.x
下的 net.minecraftforge.fml.common.event.FMLFingerprintViolationEvent
类里的四个字段没有相应的 Getter
方法,而是直接访问的
package net.minecraftforge.fml.common.event;
import java.io.File;
import java.util.Set;
import com.google.common.collect.ImmutableSet;
public class FMLFingerprintViolationEvent extends FMLEvent {
public final boolean isDirectory;
public final Set<String> fingerprints;
public final File source;
public final String expectedFingerprint;
public FMLFingerprintViolationEvent(boolean isDirectory, File source, ImmutableSet<String> fingerprints, String expectedFingerprint)
{
super();
this.isDirectory = isDirectory;
this.source = source;
this.fingerprints = fingerprints;
this.expectedFingerprint = expectedFingerprint;
}
}
这个问题我刚刚在测试的时候发现了,因为代码是在1.12.2的forge中进行编译的,所以用getter可以通过编译。
后来思考了一下,这个方法的目的就是让Minecraft崩溃,换种崩溃的方式也无伤大雅,因此不会进行修改。
再次抱歉没有测试到位。
bug已修复,希望可以麻烦帮忙测试一下。
commit:030daf1
下载:https://csl.littleservice.cn/libraries/customskinloader/CustomSkinLoader_Forge/14.10a-SNAPSHOT-69/CustomSkinLoader_Forge-14.10a-SNAPSHOT-69.jar