Skip to content

ModVersionGuard y Seguridad de Inicio

Clasenet.dasik.social.util.ModVersionGuard
Política de ClassLoaderInvocación explícita de Thread.currentThread().getContextClassLoader()
Patrón ProhibidoUso de Class.forName(name) por defecto sin ClassLoader
Punto de EntradaDasikLibraryMod.onInitialize()

🛡️ Regla de Resolución de Knot ClassLoader

En Fabric, invocar Class.forName(String className) por defecto recurre al ClassLoader del sistema, el cual falla bajo Knot ClassLoader durante las etapas tempranas de carga del mod arrojando un error falso ClassNotFoundException.

ModVersionGuard pasa explícitamente Thread.currentThread().getContextClassLoader():

java
public final class ModVersionGuard {
    public static void checkClass(String modName, String requiredClassName) {
        try {
            Class.forName(requiredClassName, true, Thread.currentThread().getContextClassLoader());
        } catch (ClassNotFoundException e) {
            throw new RuntimeException("\n" +
                "=====================================================================\n" +
                " [" + modName + "] Minecraft API Mismatch!\n" +
                " A required Minecraft class or API was not found in your game version.\n" +
                " Try updating your Minecraft version or download a matching build.\n" +
                "=====================================================================");
        }
    }
}

🔗 Páginas Relacionadas

Official documentation & web portal for Dasik Igaijinn mods.