CustomSkinLoader

CustomSkinLoader

1M Downloads

CSL 14.10会在Forge 1.8.x下崩溃

ZekerZhayard opened this issue · 4 comments

commented

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

commented

抱歉,只测试了1.12.2和1.13.2,没有关注到1.8。

commented

非常感谢
正常运行应该没有问题了
如果硬要说有什么缺陷的话,在 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;
    }
}
commented

这个问题我刚刚在测试的时候发现了,因为代码是在1.12.2的forge中进行编译的,所以用getter可以通过编译。
后来思考了一下,这个方法的目的就是让Minecraft崩溃,换种崩溃的方式也无伤大雅,因此不会进行修改。

commented

再次抱歉没有测试到位。
bug已修复,希望可以麻烦帮忙测试一下。
commit:030daf1
下载:https://csl.littleservice.cn/libraries/customskinloader/CustomSkinLoader_Forge/14.10a-SNAPSHOT-69/CustomSkinLoader_Forge-14.10a-SNAPSHOT-69.jar